gdiplus: Implement GdipLoadImageFromFile.

oldstable
Nathan Beckmann 2008-02-24 07:41:29 -08:00 committed by Alexandre Julliard
parent 3d802924cb
commit 484abd472e
3 changed files with 28 additions and 1 deletions

View File

@ -435,7 +435,7 @@
@ stub GdipIsVisibleRegionPointI
@ stub GdipIsVisibleRegionRect
@ stub GdipIsVisibleRegionRectI
@ stub GdipLoadImageFromFile
@ stdcall GdipLoadImageFromFile(wstr ptr)
@ stub GdipLoadImageFromFileICM
@ stdcall GdipLoadImageFromStream(ptr ptr)
@ stdcall GdipLoadImageFromStreamICM(ptr ptr)

View File

@ -697,6 +697,27 @@ GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage *image,
return Ok;
}
GpStatus WINGDIPAPI GdipLoadImageFromFile(GDIPCONST WCHAR* filename,
GpImage **image)
{
GpStatus stat;
IStream *stream;
if (!filename || !image)
return InvalidParameter;
stat = GdipCreateStreamOnFile(filename, GENERIC_READ, &stream);
if (stat != Ok)
return stat;
stat = GdipLoadImageFromStream(stream, image);
IStream_Release(stream);
return stat;
}
GpStatus WINGDIPAPI GdipLoadImageFromStream(IStream* stream, GpImage **image)
{
IPicture *pic;

View File

@ -114,6 +114,12 @@ static void test_LoadingImages(void)
stat = GdipCreateBitmapFromFile(0, (GpBitmap**)0xdeadbeef);
expect(InvalidParameter, stat);
stat = GdipLoadImageFromFile(0, 0);
expect(InvalidParameter, stat);
stat = GdipLoadImageFromFile(0, (GpImage**)0xdeadbeef);
expect(InvalidParameter, stat);
}
START_TEST(image)