Neue Bilddatei

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Geeecko

Betreff: Neue Bilddatei

BeitragMi, März 08, 2006 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Prinzip wäre es doch möglich eine eigen Bilddatei zu schreiben oder?
man kan ja dann eien editor erstellen, und wenn man dann linksklickt, wird die koordinate ermittelt, und in die textdate dann zb.
300 (mausx)
200(mausy)
4(r)
5(g)
6(b)

würde das gehen?

SoNenTyp

BeitragMi, März 08, 2006 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
schätze ja.
Gruss Der Typ.

User posted image

Henry

BeitragMi, März 08, 2006 15:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Probier's doch aus?! Confused
Aiya Eärendil Elenion Ancalima!

All you have to decide is what to do with the time that is given to you.

Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen!
Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht!

BlitzChecker

BeitragMi, März 08, 2006 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
sowas hab ich mal gemacht, aber nicht zum malen, sondern zum umwandeln von bildern in mein format.

Code: [AUSKLAPPEN]
Function ConvertImage(bmpfile$,mlpfile$)
image = LoadImage(bmpfile$)
temp_image = CreateImage(ImageWidth(image),ImageHeight(image))
SetBuffer ImageBuffer(temp_image)
DrawBlock image,0,0
file = WriteFile(mlpfile$)
WriteShort file,ImageWidth(image)
WriteShort file,ImageHeight(image)
LockBuffer ImageBuffer(temp_image)
For y = 1 To ImageHeight(image)
   For x = 1 To ImageWidth(image)      
      rgb=ReadPixelFast(x,y)
      a=(rgb And $FF000000)/$1000000
      r=(rgb And $FF0000)/$10000
      g=(rgb And $FF00)/$100
      b=rgb And $FF
      WriteByte file,a
      WriteByte file,r
      WriteByte file,g
      WriteByte file,b
   Next
Next
UnlockBuffer ImageBuffer(temp_image)
CloseFile file
End Function

Function DrawMLImage(imagefile$,x,y)
   file = ReadFile(imagefile$)
      width = ReadShort(file)
      height = ReadShort(file)
      LockBuffer BackBuffer()
      For y2 = -1 To height-2
         For x2 = -1 To width-2
            a = ReadByte(file)
            r = ReadByte(file)
            g = ReadByte(file)
            b = ReadByte(file)
            rgb=a*$1000000 + r*$10000 + g*$100 + b
            WritePixelFast x2+x,y2+y,rgb
         Next
      Next
      UnlockBuffer BackBuffer()
      Flip
   CloseFile file
End Function


damit kann man auch einfache effekte realisieren (z.B. Bild auf den Kopf stellen etc...). dazu musst du einfach mit den werten bei der for-schleife experimentieren (bei der ausgabe)

aber die grösse ist immer ein bisschen mehr als ein bmp...

(bmp heisst ja auch bitmap, meins könnte man bytemap nennen Very Happy )

ich hoffe ich konnte dir helfen
mfg BlitzChecker
www.xairro.com
 

Schnuff

BeitragMi, März 08, 2006 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
wiso wird bei dir in RGB unterteilt, die Hex Farben zu speichern wäre doch einfacher? Confused
Programmers dont die. They gosub without return...

BlitzChecker

BeitragMi, März 08, 2006 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
stimmt eigentlich...
www.xairro.com
 

ke^kx

BeitragMi, März 08, 2006 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt viele Möglichkeiten ein Bildformat klein zu halten, ohne die Qualität zu beeinträchtigen, etwa indem man Muster in einer Farbe umreißt oder auch mehrfarbige Muster. Oder man geht (bei Bildern mit wenig Farben) einfach die Farben durch und speichert nur die Postition...

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group