Skip to content

Commit 501b14c

Browse files
committed
test and calling project
1 parent 8ba7784 commit 501b14c

6 files changed

Lines changed: 478 additions & 0 deletions

File tree

ConsoleApp1/ConsoleApp1.csproj

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<ProjectReference Include="..\Src\PngDecoder\PngDecoder.csproj" />
12+
</ItemGroup>
13+
14+
<ItemGroup>
15+
<Reference Include="ImageQT">
16+
<HintPath>..\..\..\ImageQt\Src\ImageQT\bin\Debug\net8.0\ImageQT.dll</HintPath>
17+
</Reference>
18+
</ItemGroup>
19+
20+
</Project>

ConsoleApp1/Program.cs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using ImageQT;
2+
using System.Linq;
3+
using ImageQT.Models.ImagqQT;
4+
using PngDecoder;
5+
using System.Text;
6+
using System.Runtime.InteropServices;
7+
using PngDecoder.Models;
8+
9+
var folder = "D:\\testP\\png\\broken";
10+
var files = Directory.GetFiles(folder);
11+
files = [@"D:\testP\png\broken\Issue_2589 (2).png"];
12+
foreach (var file in files)
13+
{
14+
try
15+
{
16+
using var fs = File.OpenRead(file);
17+
var p = new PNGDecode(fs);
18+
var rawdecode = p.DecodeImageData();
19+
var format = new Pixels[p.width * p.Height];
20+
for (int i = 0; i < format.Length; i++)
21+
{
22+
format[i] = new Pixels(rawdecode[i * 4], rawdecode[i * 4 + 1], rawdecode[i * 4 + 2]);
23+
}
24+
var img = ImageLoader.LoadImage(p.width, p.Height, ref format);
25+
var qt = new ImageQt(img);
26+
await qt.Show();
27+
}
28+
catch (Exception ex)
29+
{
30+
Console.BackgroundColor = ConsoleColor.Red;
31+
Console.WriteLine($"{file} {ex.Message }");
32+
Console.BackgroundColor = default(ConsoleColor);
33+
}
34+
}
35+
Console.ReadLine();
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
using PngDecoder.Models.Filters;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Linq;
5+
using System.Security.Cryptography.X509Certificates;
6+
using System.Text;
7+
using System.Threading.Tasks;
8+
9+
namespace Test;
10+
public class BaseFilterForSixteenBitImage
11+
{
12+
13+
private MemoryStream _stream;
14+
public BaseFilterForSixteenBitImage()
15+
{
16+
_stream = new MemoryStream();
17+
_stream.Position = 0;
18+
19+
_stream.WriteByte(99); // Filter
20+
_stream.WriteByte(8); // R
21+
_stream.WriteByte(9); // G
22+
_stream.WriteByte(10); // B
23+
24+
_stream.WriteByte(8); // R
25+
_stream.WriteByte(9); // G
26+
_stream.WriteByte(10); // B
27+
28+
_stream.WriteByte(8); // R
29+
_stream.WriteByte(9); // G
30+
_stream.WriteByte(10); // B
31+
32+
_stream.WriteByte(99); // Filter
33+
_stream.WriteByte(18); // R
34+
_stream.WriteByte(19); // G
35+
_stream.WriteByte(20); // B
36+
37+
_stream.WriteByte(18); // R
38+
_stream.WriteByte(19); // G
39+
_stream.WriteByte(20); // B
40+
41+
_stream.WriteByte(18); // R
42+
_stream.WriteByte(19); // G
43+
_stream.WriteByte(20); // B
44+
}
45+
46+
[Fact]
47+
public void Get3PartLeft()
48+
{
49+
var filter = new BaseFilter(_stream);
50+
_stream.Seek(4, SeekOrigin.Begin);
51+
var pos = _stream.ReadByte();
52+
var left = filter.GetLeftByte(9, 3);
53+
54+
Assert.Equal(pos, left);
55+
}
56+
}

0 commit comments

Comments
 (0)