Moin,
das Problem ist bereits gelöst (bzw. ein einfacher Workaround gefunden), weil mich die Sache aber lange geplagt hat schreibe ich hier mal um was es geht, falls andere das selbe Problem haben.
Je nachdem mit welchem Programm man Bilder bearbeitet wird im Bild ein unterschiedlicher DPI Wert gesetzt. Manche Programme denken 72 ist gut, manche 96, manche 100, und manche nehmen den Wert den dein Bildschirm gerade eingestellt hat. In vielen Fällen ist einem der DPI Wert aber vollkommen egal, alles was man will ist "ein Pixel = ein Pixel", no questions asked.
Im Beispiel ist 2x dasselbe Bild (1x mit "default Einstellungen" meines Programms = 100 DPI), und 1x "ohne" explizite angabe der DPI (dann nimmt mein PC automatisch 96, wie das bei anderen Leuten aussieht weiß ich nicht), und ein Skript das die Bilder via _GDIPlus_GraphicsDrawImage anzeigt. Man sieht, die Bilder sind verschieden groß, und gerade bei Pixeligen Sachen entstehen subsampling Artefakte. Das Problem lässt sich lösen, indem man _GDIPlus_BitmapSetResolution verwendet und allen Bildern denselben Wert verpasst, oder explizit die Größe beim Zeichnen via _GDIPlus_GraphicsDrawImageRect mitgibt.
Fazit: _GDIPlus_GraphicsDrawImage berücksichtigt beim Zeichnen die DPI und verursacht damit manchmal ungewünschte Probleme (z.B Bilder haben die falsche Größe).
Edit: Ja, ich habe auf beide Testbilder "Testbild 1" geschrieben... Eigentlich wollte ich "Testbild 2" auf das 2te Bild schreiben, dann ist mir aber eingefallen, dass es sich dann ja gar nicht mehr um "das selbe" Bild handelt, und ich wollte ja "das selbe" Bild nur mit verschiedenen DPI Werten haben... Zwickmühle
lg
M