gdiplus: Implement GdipLoadImageFromFile.

This commit is contained in:
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 GdipIsVisibleRegionPointI
@ stub GdipIsVisibleRegionRect @ stub GdipIsVisibleRegionRect
@ stub GdipIsVisibleRegionRectI @ stub GdipIsVisibleRegionRectI
@ stub GdipLoadImageFromFile @ stdcall GdipLoadImageFromFile(wstr ptr)
@ stub GdipLoadImageFromFileICM @ stub GdipLoadImageFromFileICM
@ stdcall GdipLoadImageFromStream(ptr ptr) @ stdcall GdipLoadImageFromStream(ptr ptr)
@ stdcall GdipLoadImageFromStreamICM(ptr ptr) @ stdcall GdipLoadImageFromStreamICM(ptr ptr)

View File

@ -697,6 +697,27 @@ GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage *image,
return Ok; 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) GpStatus WINGDIPAPI GdipLoadImageFromStream(IStream* stream, GpImage **image)
{ {
IPicture *pic; IPicture *pic;

View File

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