von TBitmap zu CMBitmap konvertieren

von TBitmap zu CMBitmap konvertieren

Beitragvon jus » 8. Jun 2011, 00:21 von TBitmap zu CMBitmap konvertieren

Gibt es eine Möglichkeit ein TBitmap zu Mac API typischen CMBitmap zu konvertieren und vielleicht auch wieder zurückzukonvertieren?

Lg,
jus
jus
 
Beiträge: 43
Registriert: 6. Mai 2011, 12:29

Beitragvon noenglish » 8. Jun 2011, 07:04 Re: von TBitmap zu CMBitmap konvertieren

Selber machen geht, vorausgesetzt Du kennst das Dateiformat der von CMBitmap verwendeten Dateien.
Datei Byte für Byte einlesen und im neuen Format zurückschreiben.
Das Format von .bmp - Dateien findest Du hier: http://de.wikipedia.org/wiki/Windows_Bitmap.
Aber vielleicht hast Du Glück und es kennt jemand eine geeignete Funktion.

Kannst Du mal eine Mac API typischen CMBitmap posten?

MfG
noenglish
noenglish
 
Beiträge: 36
Registriert: 4. Mai 2010, 08:14
OS, Lazarus, FPC: Win10 64Bit, L: 1.8.4 FPC 3.0.4 | 
Nach oben

Beitragvon jus » 8. Jun 2011, 11:18 Re: von TBitmap zu CMBitmap konvertieren

Hallo noenglish,

der Mac API Befehl, der die Struktur von CMBitmap verlangt, heißt CWMatchBitmap. Ich versuche nämlich gerade rauszufinden wie man unter Mac das Farbmanagement anprechen kann. : :cry:
Die Definition von CMBitmap habe ich bereits in den Lazarus Sourcen gefunden:
Code: Alles auswählen
CMBitmap = record
      image: CStringPtr;
      width: size_t;
      height: size_t;
      rowBytes: size_t;
      pixelSize: size_t;
      space: CMBitmapColorSpace;
      user1: UInt32;
      user2: UInt32;
   end;


Die Frage is nun, wie man aber von TBitmap auf ein CMBitmap konvertieren kann, damit die Mac API Funktion "CWMatchBitmap" das klaglos frißt. :?:

Lg,
jus
jus
 
Beiträge: 43
Registriert: 6. Mai 2011, 12:29

Beitragvon noenglish » 9. Jun 2011, 19:08 Re: von TBitmap zu CMBitmap konvertieren

Ich verstehe Deine Frage jetzt so, Du möchtest keine Datei umwandeln sondern mit CMBitmap auf eine .bmp Datei zugreifen. Da kann ich Dir leider nicht helfen.

Mit freundlichen Grüßen
noenglish
noenglish
 
Beiträge: 36
Registriert: 4. Mai 2010, 08:14
OS, Lazarus, FPC: Win10 64Bit, L: 1.8.4 FPC 3.0.4 | 
Nach oben

Beitragvon jus » 17. Jun 2011, 14:14 Re: von TBitmap zu CMBitmap konvertieren

Hallo,
ich wollte mich noch mal melden bzgl. der Lösung für die Konvertierung von TBitmap zu CMBitmap, falls jemand mal vor dem selben Problem stehen sollte. Wenn man die Vampyre Imaging Libary verwendet, ist es nicht so schwer. Ich zitiere den Galfar von der Vampyre Imaging Lib:
Galfar hat geschrieben:Hi, it should be quite easy to convert TImageData to CMBitmap:

CMBitmap.image is TImageData.Bits
Width and Height is easy
CMBitmap.pixelSize is 8 * Fmt.BytesPerPixel (use GetImageFormatInfo function to get this)
CMBitmap.rowBytes is Width * CMBitmap.pixelSize

Then you need to set CmBitmap.space according to TImageData.Format,
mostly cmRGB24Space or cmRGBA32Space is used.


Lg,
jus
jus
 
Beiträge: 43
Registriert: 6. Mai 2011, 12:29

• Themenende •

Zurück zu MacOS



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried