mirror of
https://github.com/reactos/reactos.git
synced 2025-02-21 16:04:57 +00:00
[MSPAINT] Use Gdiplus::Bitmap in place of ATL::CImage to load pictures -- this un-breaks loading a picture's resolution from file
svn path=/trunk/; revision=75615
This commit is contained in:
parent
369ad20c7b
commit
44fc547ffa
2 changed files with 7 additions and 5 deletions
|
@ -34,6 +34,6 @@ add_rc_deps(rsrc.rc ${mspaint_rc_deps})
|
|||
add_executable(mspaint ${SOURCE} rsrc.rc)
|
||||
set_module_type(mspaint win32gui UNICODE)
|
||||
target_link_libraries(mspaint atlnew uuid)
|
||||
add_importlibs(mspaint hhctrl comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 rpcrt4 shlwapi)
|
||||
add_importlibs(mspaint hhctrl comdlg32 shell32 user32 gdi32 gdiplus advapi32 comctl32 msvcrt kernel32 rpcrt4 shlwapi)
|
||||
add_pch(mspaint precomp.h SOURCE)
|
||||
add_cd_file(TARGET mspaint DESTINATION reactos/system32 FOR all)
|
||||
|
|
|
@ -83,8 +83,8 @@ void ShowFileLoadError(LPCTSTR name)
|
|||
void
|
||||
LoadDIBFromFile(HBITMAP * hBitmap, LPCTSTR name, LPSYSTEMTIME time, int *size, int *hRes, int *vRes)
|
||||
{
|
||||
CImage img;
|
||||
img.Load(name); // TODO: error handling
|
||||
using namespace Gdiplus;
|
||||
Bitmap img(CStringW(name), FALSE); // always use WCHAR string
|
||||
|
||||
if (!hBitmap)
|
||||
{
|
||||
|
@ -92,7 +92,7 @@ LoadDIBFromFile(HBITMAP * hBitmap, LPCTSTR name, LPSYSTEMTIME time, int *size, i
|
|||
return;
|
||||
}
|
||||
|
||||
*hBitmap = img.Detach();
|
||||
img.GetHBITMAP(Color(255, 255, 255), hBitmap);
|
||||
|
||||
// update time and size
|
||||
HANDLE hFile =
|
||||
|
@ -112,7 +112,9 @@ LoadDIBFromFile(HBITMAP * hBitmap, LPCTSTR name, LPSYSTEMTIME time, int *size, i
|
|||
if (size)
|
||||
*size = GetFileSize(hFile, NULL);
|
||||
|
||||
// TODO: update hRes and vRes
|
||||
// update hRes and vRes
|
||||
*hRes = (int) (img.GetHorizontalResolution() * 1000 / 25.4);
|
||||
*vRes = (int) (img.GetVerticalResolution() * 1000 / 25.4);
|
||||
|
||||
CloseHandle(hFile);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue