Probleme mit Saveimage
Übersicht

![]() |
5k41Betreff: Probleme mit Saveimage |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich habe mir heute ein nettes Programm geschrieben, welches eine waffe, die man von oben gemal hat um 180 in einer AnimImage dreht und dann malt... das funktioniert auch alles doch nun wollte ich nicht jedesmal beim programm start das bild neu berechnen und dachte mir ich speichere es per Saveimage, doch statt einer animimage kommt nur ein schwarzer streifen raus... was man aber auch an der Programm sieht, das das Bild Korrekt gedreht ist. Desshalb nun meine Frage: Kann man SaveImage immer nur auch einzelne Frames einer Image anwenden (und wenn man nix angibt speichert er nur Frame 0) falls das so sein sollte hat noch irgendwer ne Idee wie ich das Problem lösen könnte? Hier der Quellcode (unoptimiert): Code: [AUSKLAPPEN] name$=Input("Name des Bildes:") grund=LoadImage("GFX\"+name$+".bmp") DrawImage grund,0,0 WaitKey() If ImageWidth(grund)=>ImageHeight(grund) groesse=ImageWidth(grund) Else groesse=ImageHeight(grund) EndIf waffe=CreateImage(groesse*2,groesse,180) TFormFilter 0 For i=0 To -89 Step -1 drehen=CopyImage(grund) HandleImage drehen,ImageWidth(drehen)/2,ImageHeight(drehen) RotateImage drehen,i SetBuffer ImageBuffer(waffe,90+i) DrawImage drehen,groesse,groesse SetBuffer BackBuffer() Text 0,0,-i Flip Cls Next For i=0 To 89 drehen=CopyImage(grund) HandleImage drehen,ImageWidth(drehen)/2,ImageHeight(drehen) RotateImage drehen,i SetBuffer ImageBuffer(waffe,i+90) DrawImage drehen,groesse,groesse SetBuffer BackBuffer() Text 0,0,i+90 Flip Cls Next If SaveImage(waffe,"GFX\"+name$+"2.bmp")=1 Then RuntimeError "SAVED!" While Not KeyDown(1) DrawImage waffe,0,0,cr cr=cr+1 If cr=180 Then cr=0 Flip Cls Wend End um zu sehen, das das Bild richtig gespeichert wurde einfach die saveimage-zeile auskommentieren! MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Satan 2001/2002Betreff: Speichert alle Bilder |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Es ist kein "animimage" geworden aber vielleicht hilft es dir trotzdem weiter. Code: [AUSKLAPPEN] name$=Input("Name des Bildes: ") grund=LoadImage("GFX\"+name$+".bmp") DrawImage grund,0,0 WaitKey() If ImageWidth(grund)=>ImageHeight(grund) groesse=ImageWidth(grund) Else groesse=ImageHeight(grund) EndIf waffe=CreateImage(groesse*2,groesse,180) TFormFilter 0 For i=0 To -89 Step -1 drehen=CopyImage(grund) HandleImage drehen,ImageWidth(drehen)/2,ImageHeight(drehen) RotateImage drehen,i SetBuffer ImageBuffer(waffe,90+i) DrawImage drehen,groesse,groesse SetBuffer BackBuffer() Cls Text 0,0,-i Flip Next For i=0 To 89 drehen=CopyImage(grund) HandleImage drehen,ImageWidth(drehen)/2,ImageHeight(drehen) RotateImage drehen,i SetBuffer ImageBuffer(waffe,i+90) DrawImage drehen,groesse,groesse SetBuffer BackBuffer() Cls Text 0,0,i+90 Flip Next ;If SaveImage(waffe,"GFX\"+name$+"2.bmp")=1 Then RuntimeError "SAVED!" While Not KeyDown(1) AppTitle "image: "+name$ +" ("+cr+"° )" ; Zeigt das Bild an SetBuffer BackBuffer() Cls DrawImage waffe,0,0,cr Flip SetBuffer ImageBuffer(waffe) Cls DrawImage waffe,0,0,cr Flip cr=cr+1 If cr=180 Then cr=0 If cr=0 And SaveImage(waffe,"GFX\"+name$+"2.bmp")=1 Then Goto done ; Speichert das letzte Bild. ;SaveImage(waffe,"GFX\"+name$+"2.bmp") ; Speichert alle 179 Bilder (ca. 12MB) SaveImage(waffe,"GFX\"+name$+cr+".bmp") Flip Wend .done AppTitle "SAVED!" WaitKey() ;ExecFile "GFX\"+name$+"2.bmp" ExecFile "GFX" End |
||
Fr14-12-2001
Blitz3D v1.99 |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ne tut mir leid hilft mir nicht soo wirklich weiter (so hätte ich das auch machen können) ich brauch aber eine animimage... gibt es da keine möglichkeit?
MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Rone |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
so gehts! Code: [AUSKLAPPEN] Graphics 640,480,16 grund=CreateImage(64,64) SetBuffer ImageBuffer(grund) Color 0,0,222 Rect 0,0,64,64 ClsColor 200,0,0 timer = MilliSecs()+30 zeilen = 19 spalten =19 frames = zeilen *spalten img= Rotate(grund,zeilen,spalten);,"test2.bmp") SetBuffer BackBuffer() While Not KeyHit(1)=1 Cls DrawImage img ,290,200,i If MilliSecs()>timer Then timer = MilliSecs()+10 If KeyDown(205) Then i=i+1 If i>frames-1 Then i=0 ElseIf KeyDown(203) Then i=i-1 If i<0 Then i=frames-1 EndIf EndIf Flip Wend End Function Rotate(grund,zeilen,spalten,Datei$="temp.bmp") size = ( ImageWidth(grund)^2 +ImageHeight(grund)^2 )^0.5 HandleImage(grund,ImageWidth(grund)/2 ,ImageHeight(grund)/2) neu2=CreateImage(size*spalten,size*zeilen) TFormFilter 0 SetBuffer ImageBuffer(neu2) For ty=0 To zeilen-1 For tx=0 To spalten-1 bild=CopyImage(grund) RotateImage bild,Float(tx+spalten*ty)*(360.0/(spalten*zeilen)) DrawImage bild,size/2+tx*size,(size/2)+size*ty FreeImage bild Next Next SaveBuffer (ImageBuffer(neu2),Datei$) Return (LoadAnimImage(Datei$,size,size,0,spalten*zeilen)) End Function |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group