671{
672 BYTE orig_data3x3[27] = {
673 128,128,255, 128,128,128, 128,255,128,
674 128,128,128, 128,128,128, 255,255,255,
675 255,128,128, 255,255,255, 255,255,255 };
678 128,128,255, 128,128,128, 128,255,128,
679 0,0,0, 0,128,128, 255,255,255,
680 255,128,128, 255,0,0, 0,0,0 };
685
686 memcpy(data3x3, orig_data3x3,
sizeof(data3x3));
687
688 hr = IWICImagingFactory_CreateBitmapFromMemory(
factory, 3, 3, &GUID_WICPixelFormat24bppBGR,
691
692 hr = IWICImagingFactory_CreateBitmapFromMemory(
factory, 3, 3, &GUID_WICPixelFormat24bppBGR,
693 0,
sizeof(data3x3), data3x3, &
bitmap);
695
696 hr = IWICImagingFactory_CreateBitmapFromMemory(
factory, 3, 3, &GUID_WICPixelFormat24bppBGR,
697 6,
sizeof(data3x3), data3x3, &
bitmap);
699
700 hr = IWICImagingFactory_CreateBitmapFromMemory(
factory, 3, 3, &GUID_WICPixelFormat24bppBGR,
701 12,
sizeof(data3x3), data3x3, &
bitmap);
703
704 hr = IWICImagingFactory_CreateBitmapFromMemory(
factory, 3, 3, &GUID_WICPixelFormat24bppBGR,
705 9,
sizeof(data3x3) - 1, data3x3, &
bitmap);
707
708 hr = IWICImagingFactory_CreateBitmapFromMemory(
factory, 3, 3, &GUID_WICPixelFormat24bppBGR,
709 9,
sizeof(data3x3), data3x3, &
bitmap);
710 ok(
hr ==
S_OK,
"IWICImagingFactory_CreateBitmapFromMemory error %#lx\n",
hr);
711
713 ok(
hr ==
S_OK,
"IWICBitmap_GetSize error %#lx\n",
hr);
716
717 data3x3[2] = 192;
718
721 ok(
hr ==
S_OK,
"IWICBitmap_CopyPixels error %#lx\n",
hr);
722 for (
i = 0;
i <
sizeof(
data);
i++)
723 ok(
data[
i] == orig_data3x3[
i],
"%u: expected %u, got %u\n",
i,
data[
i], data3x3[
i]);
724
725 IWICBitmap_Release(
bitmap);
726
727 hr = IWICImagingFactory_CreateBitmapFromMemory(
factory, 3, 2, &GUID_WICPixelFormat24bppBGR,
728 13,
sizeof(orig_data3x3), orig_data3x3, &
bitmap);
729 ok(
hr ==
S_OK,
"IWICImagingFactory_CreateBitmapFromMemory error %#lx\n",
hr);
730
732 ok(
hr ==
S_OK,
"IWICBitmap_GetSize error %#lx\n",
hr);
735
738 ok(
hr ==
S_OK,
"IWICBitmap_CopyPixels error %#lx\n",
hr);
739 for (
i = 0;
i <
sizeof(
data);
i++)
740 ok(
data[
i] == data3x2[
i],
"%u: expected %u, got %u\n",
i, data3x2[
i],
data[
i]);
741
742 IWICBitmap_Release(
bitmap);
743}
#define WINCODEC_ERR_INSUFFICIENTBUFFER