No description
Find a file
Artur Wieczorek 097625de52 Fixed rescaling of wxImage
When wxImage is rescaled with wxIMAGE_QUALITY_BILINEAR, wxIMAGE_QUALITY_BICUBIC or wxIMAGE_QUALITY_BOX_AVERAGE algorithm then for proper interpolation there is necessary to uniformly (linearly) map entire pixel range in the new image to the entire pixel range in the current image, i.e. pixels positions (integer values) in range [0..newDim-1] has to be mapped to "virtual" pixel positions (not necessary integer values) exactly in the range [0..oldDim-1].
[0..oldDim-1] range of target mapping is required because for proper interpolation every "virtual" pixel has to be located between two physical pixels in the current image.
Thus scaling ratio used to find corresponding pixels in the current image should be (oldDim-1)/(newDim-1) and not oldDim/newDim (which is used now).
When image is e.g. upsampled oldDim/newDim ratio then some new rightmost/botommost pixels are mapped to old pixels > (oldDim-1) and their values are improperly interpolated (in the current implementation their positions are just truncated to (oldDim-1) to bypass the problem and upsampled image looks like it was shifted left/up). The larger scaling ratio the effect is more visible.

Note:
Because reference images used currently in the unit tests were created with improper scaling there is necessary to upload new reference images created with fixed scaling.

Closes #17594
2016-07-22 23:00:33 +02:00
.github Rename directory with Github-specific files to the correct name 2016-02-19 01:56:18 +01:00
art Replace images in wxRendererMac::DrawTitleBarBitmap() with drawing code. 2016-01-05 14:51:04 +01:00
build Update instructions for producing official MSW binaries 2016-07-02 14:54:16 +02:00
demos Update version to 3.1.1 2016-03-03 23:23:06 +01:00
distrib Updated links and mailing list addresses. 2015-10-30 20:06:09 -06:00
docs Fixed rescaling of wxImage 2016-07-22 23:00:33 +02:00
include Fixed displaying validation error for numeric wxPG properties (wxUIntProperty, etc.) 2016-07-21 23:13:16 +02:00
interface Correct wxString(const char*, size_t) ctor documentation 2016-07-19 20:12:53 +02:00
lib Delete dummy 2015-06-03 17:17:38 +02:00
locale Minor Danish translations update 2016-04-08 15:00:41 +02:00
misc Use "pair of ints" type for wxGridBagSizer size and position in XRC 2016-07-06 18:44:07 +02:00
samples Remove invalid "option" elements from XRC sample file 2016-07-06 18:48:35 +02:00
src Fixed rescaling of wxImage 2016-07-22 23:00:33 +02:00
tests Fixed rescaling of wxImage 2016-07-22 23:00:33 +02:00
utils Update version to 3.1.1 2016-03-03 23:23:06 +01:00
.gitattributes Replace upmake and dependent modules with a monolithic script 2015-10-04 00:11:10 +02:00
.gitignore Simplify and extend .gitignore by using wildcards better 2016-06-07 14:29:52 +02:00
.travis.yml Combine all Travis CI commands into a single one 2016-01-30 18:42:46 +01:00
acinclude.m4 Don't show checks for command line options to make configure less verbose 2016-02-06 00:16:10 +01:00
aclocal.m4 Add --enable-cxx11 configure option 2016-01-24 21:22:15 +01:00
appveyor.yml Stop AppVeyor build if a newer PR commit exists 2016-02-03 22:42:47 +01:00
autoconf_inc.m4 Add wxSecretStore 2016-06-04 18:29:15 +02:00
autogen.sh
BuildGit.txt Updated BuildSVN.txt for git migration. 2015-02-20 18:04:53 -07:00
config.guess Update configure helper scripts to latest versions from GNU project. 2010-11-26 13:31:15 +00:00
config.sub Update configure helper scripts to latest versions from GNU project. 2010-11-26 13:31:15 +00:00
configure Merge branch 'uisim-xtest' 2016-06-04 22:44:25 +02:00
configure.in Merge branch 'uisim-xtest' 2016-06-04 22:44:25 +02:00
descrip.mms Remove controls sample from OpenVMS makefiles 2016-02-03 09:04:53 +01:00
install-sh
Makefile.in Move wxPanel::HasTransparentBackground() to wxControlContainer 2016-06-07 22:08:51 +02:00
mkinstalldirs Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +00:00
README.md Update the link in README after the last commit 2016-02-19 01:57:36 +01:00
regen Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +00:00
setup.h.in Merge branch 'uisim-xtest' 2016-06-04 22:44:25 +02:00
setup.h_vms Enabling wxUSE_GRAPHICS_CONTEXT on OpenVMS 2016-06-14 14:11:38 +02:00
version-script.in Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +00:00
wx-config-inplace.in Remove all lines containing cvs/svn "$Id$" keyword. 2013-07-26 16:02:46 +00:00
wx-config.in Report libraries in EXTRALIBS_WEBVIEW in wx-config output 2016-03-12 01:46:54 +01:00
wxwin.m4 Don't force the use of DEBUG on application in autoconf macros 2015-09-20 02:23:06 +02:00

About

wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.

wxWidgets Logo

wxWidgets allows you to write native-looking GUI applications for all the major desktop platforms and also helps with abstracting the differences in the non-GUI aspects between them. It is free for the use in both open source and commercial applications, comes with the full, easy to read and modify, source and extensive documentation and a collection of more than a hundred examples. You can learn more about wxWidgets at https://www.wxwidgets.org/ and read its documentation online at http://docs.wxwidgets.org/

Platforms

AppVeyor Travis

wxWidgets currently supports the following primary platforms:

  • Windows XP, Vista, 7, 8 and 10 (32/64 bits).
  • Most Unix variants using the GTK+ toolkit (version 2.6 or newer or 3.x).
  • OS X (10.7 or newer) using Cocoa (32/64 bits).

Most popular C++ compilers are supported including but not limited to:

  • Microsoft Visual C++ 2003 or later (up to 2015).
  • g++ 3.4 or later, including MinGW/MinGW-64/TDM under Windows.
  • Clang under OS X and Linux.
  • Intel icc compiler.
  • Oracle (ex-Sun) aCC.

Licence

wxWidgets licence is a modified version of LGPL explicitly allowing not distributing the sources of an application using the library even in the case of static linking.

Further information

If you are looking for support, you can get it from

We would also gladly welcome your contributions.

Have fun!

The wxWidgets Team.