The Scale() code in the 2.3 tree turned out to
be wrong. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -235,6 +235,9 @@ wxImage wxImage::Scale( int width, int height ) const
|
|||||||
char unsigned *source_data = M_IMGDATA->m_data;
|
char unsigned *source_data = M_IMGDATA->m_data;
|
||||||
char unsigned *target_data = data;
|
char unsigned *target_data = data;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// This is nonsense, RR.
|
||||||
|
|
||||||
// We do (x, y) -> (x, y)*oldSize/newSize but the valid values of x and y
|
// We do (x, y) -> (x, y)*oldSize/newSize but the valid values of x and y
|
||||||
// are from 0 to size-1, hence all decrement the sizes
|
// are from 0 to size-1, hence all decrement the sizes
|
||||||
long old_old_width = old_width;
|
long old_old_width = old_width;
|
||||||
@@ -255,6 +258,20 @@ wxImage wxImage::Scale( int width, int height ) const
|
|||||||
target_data += 3;
|
target_data += 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
for (long j = 0; j < height; j++)
|
||||||
|
{
|
||||||
|
long y_offset = (j * old_height / height) * old_width;
|
||||||
|
|
||||||
|
for (long i = 0; i < width; i++)
|
||||||
|
{
|
||||||
|
memcpy( target_data,
|
||||||
|
source_data + 3*(y_offset + ((i * old_width )/ width)),
|
||||||
|
3 );
|
||||||
|
target_data += 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
@@ -1160,7 +1177,7 @@ unsigned long wxImage::CountColours( unsigned long stopafter )
|
|||||||
wxHashTable h;
|
wxHashTable h;
|
||||||
wxObject dummy;
|
wxObject dummy;
|
||||||
unsigned char r, g, b;
|
unsigned char r, g, b;
|
||||||
unsigned char *p;
|
unsigned char *p;
|
||||||
unsigned long size, nentries, key;
|
unsigned long size, nentries, key;
|
||||||
|
|
||||||
p = GetData();
|
p = GetData();
|
||||||
@@ -1195,7 +1212,7 @@ unsigned long wxImage::CountColours( unsigned long stopafter )
|
|||||||
unsigned long wxImage::ComputeHistogram( wxHashTable &h )
|
unsigned long wxImage::ComputeHistogram( wxHashTable &h )
|
||||||
{
|
{
|
||||||
unsigned char r, g, b;
|
unsigned char r, g, b;
|
||||||
unsigned char *p;
|
unsigned char *p;
|
||||||
unsigned long size, nentries, key;
|
unsigned long size, nentries, key;
|
||||||
wxHNode *hnode;
|
wxHNode *hnode;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user