Ergebnis 1 bis 11 von 11

Thema: Delphi Bild im Code

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich hab' nie mit Delphi gearbeitet, aber dieser Link sieht so aus, als würde er genau das beschreiben, was du suchst:
    http://www.daniweb.com/forums/thread204064.html#
    Wenn ich's auf die Schnelle richtig verstanden hab', musst du also nur eine neue Applikation starten, eine TImage Komponente im form designer benutzen und über Doppelklick auf die Picture- Eigenschaft im Object Inspector, lässt sich dann ein neues Bild laden, dass dementsprechend kodiert wird .

  2. #2
    Hm~ okey. Frage ist jetzt wie soll ich das machen ohne Delphi zu besitzen?
    *grübel*

  3. #3
    ich glaube kaum, dass du so ein Bild gesucht hast.
    Habs mal unter Delphi eingefügt. Resultat findest du in diesem Link

  4. #4
    Man könnte ja einen Konverter schreiben, hab dank dem Resultat von Whizard mal die Hex-Zahlen umgepflückt.
    Vielleicht erkennt ja jemand das Format.
    Ich denke es würde sich ändern, wenn mehr Farben vorhanden wären (BMP/ICO?)
    Code:
    07544269
    746D6170
    E6000000
    424DE600
    00000000
    00007600
    000028
    0000000E // = 14, Breite oder Höhe
    0000000E // = 14, Breite oder Höhe
    0000000100040000
    00000070
    00000000
    00000000
    00000010
    00000010
    000000
    000000 // Schwarz (0)
    00
    000080
    00
    008000
    00
    008080
    00
    800000 // Dunkelblau (4)
    00
    800080
    00
    808000
    00
    C0C0C0 // Hellgrau (7)
    00
    808080 // Dunkelgrau (8)
    00
    2850FF // Rot (9)
    00
    00D700 // Grün (A)
    00
    00D7FF // Gelb (B)
    00
    FF5000 // Hellblau (C)
    00
    FF00FF
    00
    FFFF00
    00
    FFFFFF // Weiss (F)
    00
    //Bilddaten:
    // 0 ist schwarz daher wohl auf dem Kopf (erkennt man an der Form, dass es das schwarze sein muss)
    // 4 ist Dunkelblau
    // 7 ist hellgrau
    // 8 ist dunkelgrau
    // A ist grün
    // B ist gelb
    // F ist weiss
    44444444444444 00
    40000000000004 00
    48777777777704 00
    48FFFFFFFFF704 00
    48FCCCFBBBF704 00
    48FCCCFBBBF704 00
    48FCCCFBBBF704 00
    48FFFFFFFFF704 00
    48FAAAF999F704 00
    48FAAAF999F704 00
    48FAAAF999F704 00
    48FFFFFFFFF704 00
    48888888888804 00
    44444444444444 00
    Erkenntnis, Farben sind in der Form BGR also wie im Bitmap Format angegeben.

    Geändert von Drakes (15.10.2009 um 15:50 Uhr)

  5. #5
    Das wird ein Delphi-spezifisches Format sein. Ich habe einfach mal den ganzen Kram in einen Hexeditor kopiert und siehe da, der die ersten acht Bytes erweisen sich als \7TBitmap. Da außer Delphi-Programmierern niemand den Zwang hat, alles mit T zu präfixen und kein geistig gesundes Bildformat acht Bytes auf den Header verschwenden würde, dürfte das sehr deutlich was internes sein.

    Dafür spricht auch, daß file keine Ahnung hat, was das ist:
    $ file ~/temp/delphibild
    /Users/jesus_666/temp/delphibild: data


    Ich liebe es, wie die Entwickler dieser Sprache permanent das Rad neu erfinden...

    Geändert von Jesus_666 (15.10.2009 um 16:03 Uhr)

  6. #6
    @Corti:

    Das Format ist wie folgt aufgebaut und gilt nur für Bilddaten abgelegt im BMP-Format:

    Offset 0 [1 Byte]: Länge des folgenden Strings: 7
    Offset 1 [7 Bytes]: String, der das Bildformat beschreibt: "TBitmap"
    Offset 8 [4 Bytes]: Länge der Bilddaten im Little Endian-Format: 230
    Ab Offset 12: Bilddaten im BGR-Format.

    Wenn man also die ersten 12 Bytes entfernt, hat man die Daten einer validen BMP-Datei.

    Anhang 5142 - Damit kannst du zwischen hexadezimalem Text und Binärformat umherkonvertieren.
    Ziehe eine BMP-Datei auf bin2hex.exe und du erhältst den hexadezimalen Text, den du in Picture.Data verwenden kannst.
    Kopiere den gesamten hexadezimalen Text aus Picture.Data in eine Textdatei und ziehe diese auf hex2bin.exe und du erhältst eine BMP-Datei.

    Edit: Danke, Drakes. ^^

    Geändert von Kyuu (26.02.2010 um 14:08 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •