📄 unittest.cs
字号:
FreeImage.UnloadEx(ref temp);
FreeImage.UnloadEx(ref temp2);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_SetComplexChannel()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_08_Greyscale_Unordered);
Assert.AreNotEqual(0, dib);
FIBITMAP temp = FreeImage.ConvertToType(dib, FREE_IMAGE_TYPE.FIT_COMPLEX, true);
Assert.AreNotEqual(0, temp);
FIBITMAP temp2 = FreeImage.GetComplexChannel(temp, FREE_IMAGE_COLOR_CHANNEL.FICC_IMAG);
Assert.AreNotEqual(0, temp2);
Assert.IsTrue(FreeImage.SetComplexChannel(temp, temp2, FREE_IMAGE_COLOR_CHANNEL.FICC_IMAG));
FreeImage.UnloadEx(ref temp);
FreeImage.UnloadEx(ref temp2);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_Copy()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_08_Greyscale_MinIsBlack);
Assert.AreNotEqual(0, dib);
FIBITMAP temp = FreeImage.Copy(dib, 5, 9, 44, 2);
Assert.AreNotEqual(0, temp);
FreeImage.UnloadEx(ref temp);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_Paste()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_08_Greyscale_MinIsBlack);
Assert.AreNotEqual(0, dib);
FIBITMAP temp = FreeImage.Allocate(3, 3, 8, 0, 0, 0);
Assert.IsTrue(FreeImage.Paste(dib, temp, 31, 3, 256));
FreeImage.UnloadEx(ref temp);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_Composite()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_08_Greyscale_MinIsBlack);
Assert.AreNotEqual(0, dib);
RGBQUAD rgbq = new RGBQUAD();
FIBITMAP temp = FreeImage.Composite(dib, false, ref rgbq, 0);
Assert.AreNotEqual(0, temp);
FreeImage.UnloadEx(ref temp);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_JPEGCrop()
{
string filename = iManager.GetBitmapPath(ImageType.JPEG, ImageColorType.Type_01_Dither);
Assert.IsTrue(File.Exists(filename));
string filenameOut = filename + ".out.jpg";
Assert.IsTrue(FreeImage.JPEGCrop(filename, filenameOut, 3, 2, 1, 5));
Assert.IsTrue(File.Exists(filenameOut));
FIBITMAP temp = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_JPEG, filenameOut, FREE_IMAGE_LOAD_FLAGS.JPEG_ACCURATE);
Assert.AreNotEqual(0, temp);
File.Delete(filenameOut);
Assert.IsFalse(File.Exists(filenameOut));
FreeImage.UnloadEx(ref temp);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_PreMultiplyWithAlpha()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
Assert.IsFalse(dib.IsNull);
Assert.IsTrue(FreeImage.PreMultiplyWithAlpha(dib));
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_MultigridPoissonSolver()
{
dib = FreeImage.AllocateT(FREE_IMAGE_TYPE.FIT_FLOAT, 10, 10, 32, 0, 0, 0);
Assert.IsFalse(dib.IsNull);
FIBITMAP dib2 = FreeImage.MultigridPoissonSolver(dib, 2);
FreeImage.UnloadEx(ref dib);
FreeImage.UnloadEx(ref dib2);
}
[Test]
public void FreeImage_GetAdjustColorsLookupTable()
{
dib = iManager.GetBitmap(ImageType.Odd, ImageColorType.Type_24);
Assert.IsFalse(dib.IsNull);
byte[] lut = new byte[256];
FreeImage.GetAdjustColorsLookupTable(lut, 55d, 0d, 2.1d, false);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_AdjustColors()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_24);
Assert.IsFalse(dib.IsNull);
Assert.IsTrue(FreeImage.AdjustColors(dib, -4d, 22d, 1.1d, false));
FreeImage.UnloadEx(ref dib);
}
[Ignore]
public void FreeImage_ApplyColorMapping()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_32);
FreeImage_ApplyColorMapping2(dib);
}
private void FreeImage_ApplyColorMapping2(FIBITMAP dib)
{
Assert.IsFalse(dib.IsNull);
Scanline<RGBQUAD> rgbqa = new Scanline<RGBQUAD>(dib, 0);
RGBQUAD[] src = new RGBQUAD[1];
RGBQUAD[] dst = new RGBQUAD[1];
src[0] = rgbqa[0];
dst[0].Color = src[0].Color == Color.White ? Color.Thistle : Color.White;
uint count = FreeImage.ApplyColorMapping(dib, src, dst, 1, true, false); // Memory
Assert.That(count > 0);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_SwapColors()
{
dib = iManager.GetBitmap(ImageType.Odd, ImageColorType.Type_08);
Assert.IsFalse(dib.IsNull);
RGBQUAD src = new RGBQUAD(Color.FromArgb(93, 119, 170));
RGBQUAD dst = new RGBQUAD(Color.FromArgb(90, 130, 148));
uint count = FreeImage.SwapColors(dib, ref src, ref dst, true);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_ApplyPaletteIndexMapping()
{
// alle farbtiefen
dib = iManager.GetBitmap(ImageType.Odd, ImageColorType.Type_04);
Assert.IsFalse(dib.IsNull);
byte[] src = { 0, 3, 1 };
byte[] dst = { 3, 1, 0 };
uint count = FreeImage.ApplyPaletteIndexMapping(dib, src, dst, 3, false);
Assert.That(count > 0);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_SwapPaletteIndices()
{
dib = iManager.GetBitmap(ImageType.Odd, ImageColorType.Type_04);
Assert.IsFalse(dib.IsNull);
byte src = 0;
byte dst = 3;
uint count = FreeImage.SwapPaletteIndices(dib, ref src, ref dst);
Assert.That(count > 0);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_SetTransparentIndex()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_04);
Assert.IsFalse(dib.IsNull);
FreeImage.SetTransparentIndex(dib, 0);
FreeImage.UnloadEx(ref dib);
}
[Test]
public void FreeImage_GetTransparentIndex()
{
dib = iManager.GetBitmap(ImageType.Even, ImageColorType.Type_04);
Assert.IsFalse(dib.IsNull);
int i = FreeImage.GetTransparentIndex(dib);
FreeImage.UnloadEx(ref dib);
}
}
[TestFixture]
public class ImportedStructsTest
{
ImageManager iManager = new ImageManager();
FIBITMAP dib = 0;
string freeImageCallback = null;
[TestFixtureSetUp]
public void Init()
{
FreeImage.Message += new OutputMessageFunction(FreeImage_Message);
}
[TestFixtureTearDown]
public void DeInit()
{
FreeImage.Message -= new OutputMessageFunction(FreeImage_Message);
}
[SetUp]
public void InitEachTime()
{
}
[TearDown]
public void DeInitEachTime()
{
}
void FreeImage_Message(FREE_IMAGE_FORMAT fif, string message)
{
freeImageCallback = message;
}
public bool EqualColors(Color color1, Color color2)
{
if (color1.A != color2.A) return false;
if (color1.R != color2.R) return false;
if (color1.G != color2.G) return false;
if (color1.B != color2.B) return false;
return true;
}
[Test]
public void RGBQUAD()
{
RGBQUAD rgbq = new RGBQUAD();
Assert.AreEqual(0, rgbq.rgbBlue);
Assert.AreEqual(0, rgbq.rgbGreen);
Assert.AreEqual(0, rgbq.rgbRed);
Assert.AreEqual(0, rgbq.rgbReserved);
rgbq = new RGBQUAD(Color.Chartreuse);
Assert.That(EqualColors(Color.Chartreuse, rgbq.Color));
rgbq = new RGBQUAD(Color.FromArgb(133, 83, 95, 173));
Assert.AreEqual(173, rgbq.rgbBlue);
Assert.AreEqual(95, rgbq.rgbGreen);
Assert.AreEqual(83, rgbq.rgbRed);
Assert.AreEqual(133, rgbq.rgbReserved);
rgbq.Color = Color.Crimson;
Assert.That(EqualColors(Color.Crimson, rgbq.Color));
rgbq.Color = Color.MidnightBlue;
Assert.That(EqualColors(Color.MidnightBlue, rgbq.Color));
rgbq.Color = Color.White;
Assert.AreEqual(255, rgbq.rgbBlue);
Assert.AreEqual(255, rgbq.rgbGreen);
Assert.AreEqual(255, rgbq.rgbRed);
Assert.AreEqual(255, rgbq.rgbReserved);
rgbq.Color = Color.Black;
Assert.AreEqual(0, rgbq.rgbBlue);
Assert.AreEqual(0, rgbq.rgbGreen);
Assert.AreEqual(0, rgbq.rgbRed);
Assert.AreEqual(255, rgbq.rgbReserved);
rgbq = Color.DarkGoldenrod;
Color color = rgbq;
Assert.That(EqualColors(Color.DarkGoldenrod, color));
}
[Test]
public void RGBTRIPLE()
{
RGBTRIPLE rgbt = new RGBTRIPLE();
Assert.AreEqual(0, rgbt.rgbtBlue);
Assert.AreEqual(0, rgbt.rgbtGreen);
Assert.AreEqual(0, rgbt.rgbtRed);
rgbt = new RGBTRIPLE(Color.Chartreuse);
Assert.That(EqualColors(Color.Chartreuse, rgbt.Color));
rgbt = new RGBTRIPLE(Color.FromArgb(133, 83, 95, 173));
Assert.AreEqual(173, rgbt.rgbtBlue);
Assert.AreEqual(95, rgbt.rgbtGreen);
Assert.AreEqual(83, rgbt.rgbtRed);
rgbt.Color = Color.Crimson;
Assert.That(EqualColors(Color.Crimson, rgbt.Color));
rgbt.Color = Color.MidnightBlue;
Assert.That(EqualColors(Color.MidnightBlue, rgbt.Color));
rgbt.Color = Color.White;
Assert.AreEqual(255, rgbt.rgbtBlue);
Assert.AreEqual(255, rgbt.rgbtGreen);
Assert.AreEqual(255, rgbt.rgbtRed);
rgbt.Color = Color.Black;
Assert.AreEqual(0, rgbt.rgbtBlue);
Assert.AreEqual(0, rgbt.rgbtGreen);
Assert.AreEqual(0, rgbt.rgbtRed);
rgbt = Color.DarkGoldenrod;
Color color = rgbt;
Assert.That(EqualColors(Color.DarkGoldenrod, color));
}
[Test]
public void FIRGB16()
{
FIRGB16 rgb = new FIRGB16();
Assert.AreEqual(0 * 256, rgb.blue);
Assert.AreEqual(0 * 256, rgb.green);
Assert.AreEqual(0 * 256, rgb.red);
rgb = new FIRGB16(Color.Chartreuse);
Assert.That(EqualColors(Color.Chartreuse, rgb.Color));
rgb = new FIRGB16(Color.FromArgb(133, 83, 95, 173));
Assert.AreEqual(173 * 256, rgb.blue);
Assert.AreEqual(95 * 256, rgb.green);
Assert.AreEqual(83 * 256, rgb.red);
rgb.Color = Color.Crimson;
Assert.That(EqualColors(Color.Crimson, rgb.Color));
rgb.Color = Color.MidnightBlue;
Assert.That(EqualColors(Color.MidnightBlue, rgb.Color));
rgb.Color = Color.White;
Assert.AreEqual(255 * 256, rgb.blue);
Assert.AreEqual(255 * 256, rgb.green);
Assert.AreEqual(255 * 256, rgb.red);
rgb.Color = Color.Black;
Assert.AreEqual(0 * 256, rgb.blue);
Assert.AreEqual(0 * 256, rgb.green);
Assert.AreEqual(0 * 256, rgb.red);
rgb = Color.DarkGoldenrod;
Color color = rgb;
Assert.That(EqualColors(Color.DarkGoldenrod, color));
}
[Test]
public void FIRGBA16()
{
FIRGBA16 rgb = new FIRGBA16();
Assert.AreEqual(0 * 256, rgb.blue);
Assert.AreEqual(0 * 256, rgb.green);
Assert.AreEqual(0 * 256, rgb.red);
Assert.AreEqual(0 * 256, rgb.alpha);
rgb = new FIRGBA16(Color.Chartreuse);
Assert.That(EqualColors(Color.Chartreuse, rgb.Color));
rgb = new FIRGBA16(Color.FromArgb(133, 83, 95, 173));
Assert.AreEqual(173 * 256, rgb.blue);
Assert.AreEqual(95 * 256, rgb.green);
Assert.AreEqual(83 * 256, rgb.red);
Assert.AreEqual(133 * 256, rgb.alpha);
rgb.Color = Color.Crimson;
Assert.That(EqualColors(Color.Crimson, rgb.Color));
rgb.Color = Color.MidnightBlue;
Assert.That(EqualColors(Color.MidnightBlue, rgb.Color));
rgb.Color = Color.White;
Assert.AreEqual(255 * 256, rgb.blue);
Assert.AreEqual(255 * 256, rgb.green);
Assert.AreEqual(255 * 256, rgb.red);
Assert.AreEqual(255 * 256, rgb.alpha);
rgb.Color = Color.Black;
Assert.AreEqual(0 * 256, rgb.blue);
Assert.AreEqual(0 * 256, rgb.green);
Assert.AreEqual(0 * 256, rgb.red);
Assert.AreEqual(255 * 256, rgb.alpha);
rgb = Color.DarkGoldenrod;
Color color = rgb;
Assert.That(EqualColors(Color.DarkGoldenrod, color));
}
[Test]
public void FIRGBF()
{
FIRGBF rgb = new FIRGBF();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -