Bild in Canvas laden

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Pebender

Betreff: Bild in Canvas laden

BeitragMi, Jun 29, 2011 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich möchte ein Bild per Öffnen-Dialog in ein Canvas laden.

Code: [AUSKLAPPEN]
;Fenster erstellen
window = CreateWindow("Terrazzo", 100, 100, 800, 600, Desktop(), 33)
;Bildfelder erstellen
Global vorlage = CreateCanvas (490, 20, 300, 300, window)
Global datei = LoadImage

Function Musterladen()
  SetBuffer CanvasBuffer(vorlage)
   appDir$ = SystemProperty("APPDIR")
    datei=RequestFile("Öffnen","*,jpg,png,bmp")
  ResizeImage datei,300,300
 DrawImage datei,300,300
Flip
End Function


wenn ich das so mache, bekomme ich die Fehlermeldung"Invalid Image handle"

was mach ich denn falsch ??
bin am lesen wie ein Weltmeister, aber im Moment steh ich auf´m Schlauch

mfg Peter

grafe

BeitragMi, Jun 29, 2011 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast dein bild gar nicht geladen Wink
versuchs mal mit LoadImage...

mfg grafe
SpaceThreat 3D Multiplayer Spaceshooter

ZEVS

BeitragMi, Jun 29, 2011 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
1. LoadImage ist ohne runde Klammern eine undefinierte Variable.
Das heißt,
Code: [AUSKLAPPEN]
Global datei = LoadImage
ist identisch mit
Code: [AUSKLAPPEN]
Global datei = 0
, wobei letztere Variante besser zu lesen ist, da sowieso kein Bild geladen wird.
2. wieso speicherst du APPDIR in einer Variable, wenn du sie ohnehin niemals ausliest?
3. RequestFile$ gibt einen String zurück, während die Variable datei eine Integrer-Variable ist (Wird zu 0 => Invalid Image Handle).
Wenn du ein Bild laden willst, dann musst du das mit LoadImage tun.
Probiere doch mal
BlitzBasic: [AUSKLAPPEN]
datei=LoadImage(RequestFile("Öffnen","*,jpg,png,bmp"))

(ungetestet)
4. wenn du immer noch nichts siehst liegt das daran, dass du das Bild mit einem Abstand von 300 Pixel nach links und oben in ein 300x300-Canvas zeichnest
Zitat:
BlitzBasic: [AUSKLAPPEN]

DrawImage datei,300,300
. Ich denke, du meintest 0, 0
5. Du solltest für Canvases immer FlipCanvas verwenden.
6. (irrelevant) Dein Code ist sehr merkwürdig eingerückt.
7. (irrelevant) Wenn ein Bild kleiner als 300x300 Pixel ist, wird es trotzdem auf 300x300 Pixel gestreckt, was bestimmt ungewollt ist.
8. (irrelevant) Alle Vorschaubilder sind quadratisch, was sicherlich in einigen Fällen ausgesprochen doof aussieht. Probier doch mal, ImageWidth und ImageHeight auszuwerten, um das Seitenverhältnis beizubehalten.


Ich hoffe, dass ich dir helfen konnte.

Pebender

BeitragMi, Jun 29, 2011 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

danke für die Antworten, jetzt wo ihr das so sagt, ist das auch verständlich.
manchmal sieht man den Wald vor lauter Bäumen nicht.

@ZEVS

Das die Bilder im Moment quadratisch werden ist erstmal nebensache, denn solange ich kein Bild sehe ist auch die Form egal Wink.
Werde mich natürlich daran begeben, das die Bilder ihre Form behalten.

mfg Peter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group