Hi @ all , ich denke die Überschrift sagt schon alles , wie kann ich ein geladenes Bild (_GDIPlus_ImageLoadFromFile) , z.B. von 400x400 auf 600x600 bzw. 200x200 skalieren?
GDIPlus - Image skalieren ohne zu zeichnen
-
- [ offen ]
-
nof@ker2 -
6. September 2010 um 01:28 -
Geschlossen -
Erledigt
-
-
Hallo nof@ker2,
ich verstehe deine Frage zwar nicht [ohne zeichnen wird kein Bild dargestellt] aber schau einmal in [Beispiel] BMP-, GIF- & JPG-Viewer dort verwende ich
[autoit]_GDIPlus_ImageGetWidth;
[/autoit]
_GDIPlus_ImageGetHeightum die Originalgröße eines Bildes zu ermitteln um es danach mit GuiCtrlCreatePic in der optimalen Grösse unter Berücksichtung des Seitenverhältnisses anzuzeigen,
mfg autoBert
-
Suchst du sowas?:
Spoiler anzeigen
[autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WinAPI.au3>$iWidth = 640
[/autoit] [autoit][/autoit] [autoit]
$iHeight = 480_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]
$hImage = _GDIPlus_ImageLoadFromFile("Input.jpg")$hGraphicsTemp = _GDIPlus_GraphicsCreateFromHWND(_WinAPI_GetDesktopWindow())
[/autoit] [autoit][/autoit] [autoit]
$hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphicsTemp)
$hGraphics = _GDIPlus_ImageGetGraphicsContext($hBitmap)_GDIPlus_GraphicsDrawImageRect($hGraphics, $hImage, 0, 0, $iWidth, $iHeight)
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_ImageSaveToFile($hBitmap, "output.bmp")
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_GraphicsDispose($hGraphicsTemp)
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_BitmapDispose($hBitmap)_GDIPlus_Shutdown()
[/autoit]E