Ich nochmal ..
Irgendwo habe ich noch ein Problem.
Habe mal ein test Projekt in VB zum testen erstellt.
Ich erstelle ein Image..
Code:
Call GdipCreateFromHDC(Me.hdc, graphics)
Call GdipLoadImageFromFile(StrConv(App.path & "\GrapeBunch.jpg", vbUnicode), img)
Call GdipGetImageHeight(img, lngHeight)
Call GdipGetImageWidth(img, lngWidth)
Call GdipDrawImageRectRectI(graphics, img, 10, 10, picGrapes.Width, picGrapes.Height, 0, 0, lngWidth, lngHeight, UnitPixel)
So weit so gut.
Das Image wird auf die richtige Größe Skaliert.
Jetzt habe ich ein Menü den will ich dieses Bitmap als Hintergrundbild zuweisen.
Das geht aber nur über die Items.
Ein Item ist 20x hoch.
Jetzt erstelle ich zum testen ein 2 Graphics Objekt.
Code:
Call GdipCreateFromHDC(picGrapes.hdc, graphics2)
Call GdipGetImageHeight(img, lngHeight)
Call GdipGetImageWidth(img, lngWidth)
Call GdipSetInterpolationMode(graphics2, InterpolationModeHighQualityBicubic)
For i = 0 To 9
Call GdipDrawImageRectRectI(graphics2, img, 0, (i * 20), picGrapes.Width, 20, 0, 20 * i, lngWidth, 20, UnitPixel)
Next
Das Problem ist aber nun das die Dimensionen nicht gleich dem vom ersten Image sind.
Siehe Anhang..
Ich kann die höhe picGrapes.Height nicht setzen siehe (i * 20) die Y Position des aktuellen Menu Item.
Wo liegt mein Denkfehler bzw.. etwas vergessen?
Image Vorschau
gruss