Applied patch [ 1310251 ] Fixed a pixel depth bug converting wxImageb to wxBitmap
By Mike Fahl git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -826,7 +826,8 @@ bool wxBitmap::CreateFromImage(const wxImage& image, int depth, WXHDC hdc)
|
|||||||
wxDIB dib(image);
|
wxDIB dib(image);
|
||||||
if ( !dib.IsOk() )
|
if ( !dib.IsOk() )
|
||||||
return false;
|
return false;
|
||||||
|
if (depth == -1)
|
||||||
|
depth = dib.GetDepth(); // Get depth from image if none specified
|
||||||
|
|
||||||
// store the bitmap parameters
|
// store the bitmap parameters
|
||||||
wxBitmapRefData *refData = new wxBitmapRefData;
|
wxBitmapRefData *refData = new wxBitmapRefData;
|
||||||
@@ -849,14 +850,14 @@ bool wxBitmap::CreateFromImage(const wxImage& image, int depth, WXHDC hdc)
|
|||||||
hbitmap = dib.Detach();
|
hbitmap = dib.Detach();
|
||||||
|
|
||||||
refData->m_isDIB = true;
|
refData->m_isDIB = true;
|
||||||
refData->m_depth = dib.GetDepth();
|
refData->m_depth = depth;
|
||||||
}
|
}
|
||||||
#ifndef ALWAYS_USE_DIB
|
#ifndef ALWAYS_USE_DIB
|
||||||
else // we need to convert DIB to DDB
|
else // we need to convert DIB to DDB
|
||||||
{
|
{
|
||||||
hbitmap = dib.CreateDDB((HDC)hdc);
|
hbitmap = dib.CreateDDB((HDC)hdc);
|
||||||
|
|
||||||
refData->m_depth = depth == -1 ? dib.GetDepth() : depth;
|
refData->m_depth = depth;
|
||||||
}
|
}
|
||||||
#endif // !ALWAYS_USE_DIB
|
#endif // !ALWAYS_USE_DIB
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user