Image Resize
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
bruZardBetreff: Image Resize |
Mi, Okt 26, 2005 9:47 Antworten mit Zitat |
|
---|---|---|
Ursprünglich von filax in den eng. Codearchives gepostet, von skidracer vereinfacht und von mir jetzt so verbessert dass das Seitenverhältnis eines Bildes erhalten bleibt.
Eine einfache und schnelle Funktion um Bilder zu verkleinern/vergrössern Code: [AUSKLAPPEN] Function ResizeImage:TImage(image:TImage,new_width:Short) Local new_height:Short = (image.height*new_width/image.width) Local pix:TPixmap=LockImage(image) pix=ResizePixmap(pix,new_width,new_height) UnlockImage(image) Return LoadImage(pix) End Function Ein kompletter Code mit Bild und Exe unter http://www.bruzard.de/download/resizeimage.zip (ca. 233kb). Mit Space wird die Bildgrösse per Zufall verändert. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
bruZard |
Mi, Okt 26, 2005 16:29 Antworten mit Zitat |
|
---|---|---|
Habs nochmal verbessert ... jetzt wird nicht immer wieder das Bild vergrössert und verkleinert, was ja dazu führt dass das Bild irgendwann mal im A**** ist, sondern ein Backup des Bildes.
Code: [AUSKLAPPEN] Strict Framework BRL.GlMax2d Import BRL.JpgLoader Import BRL.Retro SetGraphicsDriver GLMax2DDriver() Graphics 800,600,0,0 SetBlend ALPHABLEND Global pic:TImage = LoadImage("pic.jpg") SeedRnd MilliSecs() Repeat Cls If KeyHit(KEY_SPACE) Local width:Short = Rnd(320,800) pic = ResizeImage(pic,width) EndIf DrawImage pic,0,0 Flip FlushMem() Until KeyHit(KEY_ESCAPE) End Function ResizeImage:TImage(image:TImage,new_width:Short) Global backup:TIMage If backup = Null Then backup = image Local new_height:Short = (backup.height*new_width/backup.width) Local pix:TPixmap=LockImage(backup) pix=ResizePixmap(pix,new_width,new_height) UnlockImage(backup) Return LoadImage(pix) End Function Das Bild ist in obigem Archiv enthalten ... |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
Suco-XBetreff: ........ |
Mo, Nov 07, 2005 11:23 Antworten mit Zitat |
|
---|---|---|
Versteh den Sinn der neuen Version nicht ganz, Bruzard.
Das ganze ginge doch nur mit einem,nicht aber mit beispielsweise 2 verschiedenen Images. Da muss man schon von einer anderen Seite anpacken. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
bruZard |
Mo, Nov 07, 2005 11:41 Antworten mit Zitat |
|
---|---|---|
hmm ... Mist ... da hast Du recht
Vielleicht könnte man mit einem "Extends TImage" was machen, dann hätte man für jedes Image eine eigene Instanz ... mal ausprobieren. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
Powered by phpBB © 2001 - 2006, phpBB Group