void TestImageModifierStack(void) { BeginTests(); CImage cImage; CImageModifierStack cStack; BOOL bResult; CImageRGBToGrey* pcGrey; CImageHeightToNormals* pcNormals; CImageResampler* pcSmall; CImage cBak; bResult = ReadImage(&cBak, "Input/Adelle.png"); AssertBool(TRUE, bResult); cImage.Copy(&cBak); cStack.Init(&cImage); pcGrey = cStack.AddModifier<CImageRGBToGrey>(); pcGrey->Init(RGBTGS_UseRed); cStack.ApplyAll(); WriteImage(&cImage, "Output/AdelleGrey.raw"); AssertFileMemory("Input/AdelleGrey.raw", cImage.GetData(), cImage.GetByteSize()); cImage.Kill(); pcNormals = cStack.AddModifier<CImageHeightToNormals>(); pcNormals->Init(IMAGE_DIFFUSE_GREY); cImage.Copy(&cBak); cStack.ApplyAll(); WriteImage(&cImage, "Output/AdelleNormal.raw"); AssertFileMemory("Input/AdelleNormal.raw", cImage.GetData(), cImage.GetByteSize()); cImage.Kill(); pcSmall = cStack.AddModifier<CImageResampler>(); pcSmall->Init(IR_NearestNeighbour, 21, 16); cImage.Copy(&cBak); cStack.ApplyAll(); WriteImage(&cImage, "Output/AdelleSmall.raw"); AssertFileMemory("Input/AdelleSmall.raw", cImage.GetData(), cImage.GetByteSize()); AssertInt(3, cStack.NumModifiers()); cStack.Kill(); cImage.Kill(); cBak.Kill(); TestStatistics(); }
void TestImageSwizzle(void) { BeginTests(); CImage cImage; CImageModifierStack cStack; CImageRGBToGrey* pcRGBToGrey; CImageChannelRename* pcChannelRename; CImageChannelAdd* pcChannelAdd; CImageDrawBox* pcDrawBox; CImageColourRGB cRGB; ReadImage(&cImage, "Input\\swizzel.png"); cStack.Init(&cImage); pcRGBToGrey = cStack.AddModifier<CImageRGBToGrey>(); pcRGBToGrey->Init(RGBTGS_OnlyIfChannelsSame); pcChannelRename = cStack.AddModifier<CImageChannelRename>(); pcChannelRename->Init(IMAGE_DIFFUSE_GREY, IMAGE_OPACITY); pcChannelAdd = cStack.AddModifier<CImageChannelAdd>(); pcChannelAdd->Init(IMAGE_DIFFUSE_RED, PT_uchar); pcChannelAdd->AddChannel(IMAGE_DIFFUSE_GREEN); pcChannelAdd->AddChannel(IMAGE_DIFFUSE_BLUE); pcDrawBox = cStack.AddModifier<CImageDrawBox>(); cRGB.Init(1.0f, 1.0f, 1.0f); pcDrawBox->Init(NULL, &cRGB); cStack.ApplyAll(); cStack.Kill(); WriteImage(&cImage, "Output\\swizzle.raw"); AssertFileMemory("input\\swizzle.raw", cImage.GetData(), cImage.GetByteSize()); cImage.Kill(); TestStatistics(); }