Seite 1 von 1

BMPs drehen

Verfasst: 03.06.2006 22:24
von Brügge
hi

wie drehe ich ein BMP bild? ein bmp bild laden kann ich und anzeigen auch aber wie drehe ich es?
Gibt es dafür ein befehl??


thx


mfg Brügge

Verfasst: 03.06.2006 22:49
von Macros
Siehe Codearchiv
RotateImage.pb

Und nächstes mal vorher dort suchen :wink:

??

Verfasst: 03.06.2006 22:52
von Brügge
code achiv??


f1 oder was??

denn dort habe ich schon danach gesucht aber nix gefunden


thx


mfg brügge

Verfasst: 03.06.2006 22:54
von Macros
Kennst du nicht!
Sofort downloaden auf
http://www.purearea.net/pb/german/index.htm
Da sind Beispielcodes zu vielen Problemen mit PB drinnen.

Verfasst: 03.06.2006 22:56
von felix
War ich wohl zu langsam...

Nein, nicht F1, das ist die PureBasic Hilfe. Er meint http://www.purearea.net dort findest Du das CodeArchiv und weitere nützliche Sachen.[/b]

ohh

Verfasst: 03.06.2006 23:03
von Brügge
hi

jo hab es gefunden ist jedoch sehr schwer ... (ich proggrammiere pb seid 1ner woche) wo ist denn der unterschied zwischen sprite3d und 2d?
und kann mir einer von euch erklären wie ich einen 2d sprite drehen kann? denn damit kenn ich mich aus ^^(etwas)

Verfasst: 03.06.2006 23:13
von roherter
Hättest richtig suchen sollen:

Code: Alles auswählen

; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=1596&highlight=
; Author: Andreas
; Date: 05. July 2003

#Window_0 = 0 
#Gadget_0 = 0 
#Gadget_1 = 1 

Procedure Rotate(Image$) 

Image1Dc = CreateCompatibleDC_(0) 
Image1 = LoadImage_(0,Image$,0,0,0,$2050) 
OldObject = SelectObject_(Image1DC,Image1) 
GetObject_(Image1,SizeOf(BITMAP),bmp.BITMAP) 

Image2Dc = CreateCompatibleDC_(0) 
Image2 = CreateCompatibleBitmap_(Image1DC,bmp\bmHeight,bmp\bmWidth) 
SelectObject_(Image2DC,Image2) 

ia = bmp\bmHeight 
While ia > 0 
  i = 0 
  While i < bmp\bmWidth 
    BitBlt_(Image2DC,bmp\bmHeight-ia,i,1,1,Image1DC,i,ia,#SRCCOPY) 
    i = i + 1 
  Wend 
  ia = ia - 1 
Wend 

CreateImage(2,bmp\bmHeight,bmp\bmWidth) 
Windc = StartDrawing(ImageOutput()) 
Stretchblt_(WinDC,0,0,bmp\bmHeight,bmp\bmWidth,Image2DC,0,0,bmp\bmHeight,bmp\bmWidth,#SRCCOPY) 
StopDrawing() 

ReleaseDC_(0,Image1DC) 
DeleteObject_(Image1) 
ReleaseDC_(0,Image2DC) 
DeleteObject_(Image2) 
EndProcedure 

Procedure Open_Window_0() 
  If OpenWindow(#Window_0, 381, 90, 313, 556,  #PB_Window_SystemMenu | #PB_Window_TitleBar , "New window ( 0 )") 
    If CreateGadgetList(WindowID()) 
      ImageGadget(#Gadget_0, 5, 5, 300, 200, UseImage(0)) 
      ImageGadget(#Gadget_1, 60, 245, 0, 0,0)      
    EndIf 
  EndIf 
EndProcedure 

font = LoadFont(0, "Arial", 40) 
CreateImage(0,300,200) 
StartDrawing(ImageOutput()) 
  DrawingFont(font) 
  Locate(100,100) 
  DrawText("Test") 
StopDrawing() 

Open_Window_0() 
SaveImage(0,"~~temp.bmp",#PB_ImagePlugin_BMP) 
rotate("~~temp.bmp") 
DeleteFile("~~temp.bmp") 
SetGadgetState(#Gadget_1,UseImage(2)) 


Repeat 
Until WaitWindowEvent()=#PB_Event_CloseWindow 

; ExecutableFormat=Windows
; FirstLine=1
; EnableXP
; EOF