png

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14659
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

png

Beitrag von Jan »

Gibt es eine Möglichkeit, png in die arc aufzunehmen? Der meckert immer, daß sei ein üngültiges Bitmapformat. Aber prinzipiell kann Xbase++ mit png umgehen. Ich möchte das aber nicht mit :LoadFile() machen.

Und wie stelle ich den transparenten Hintergrund ein? Mit kommt ständig die Meldung, daß die Methode :transparentClr für das Objekt unbekannt sei.

Jan
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15699
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 69 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Jan,

soweit ich weiß, muss die BITMAP Resource immer ein BMP Datei sein.
Früher konnte auch XbpBitmap() nur mit denen umgehen.
Sieh mal in der Hilfe unter Deklarieren von Resourcen - Die ARC-Datei nach, dort findest du
Identifikator

Ein Resourcen-Identifikator kann entweder ein numerischer Wert im Bereich 1 bis 16384 sein oder ein Name. Die numerischen Werte werden typischerweise per #define-Konstante definiert. Ein benannter Resourcen-Identifikator ist von der Schreibweise abhängig. Es wird empfohlen, immer Grossbuchstaben zu verwenden.

USERDEF JPEG

MEINBILD = FILE "cool.jpeg"
und unten die Beschreibung zu USERDEF.

Ich denke wenn du die PNG Datei an die EXE (oder DLL?) bindest, den Inhalt mit loadResource() in eine Variable liest und hier suchst, wie man XbpBitmap() mit einer Speichervariablen verknüpft (Ich meine Jimmy hatte so einen Thread ...) dann müsste es gehen.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12911
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Beitrag von AUGE_OHR »

hi,

Code: Alles auswählen

*.ARC

USERDEF PNG
     3001       = FILE ".\..\RES\DRUCKER.PNG"

*   oSbPNG:load( , 3015 )
   oSbPNG := ResourceAsBmp():new():create()
   oSbPNG:load( , 3015 , "PNG" )
   oSbPNG:transparentClr := oSbPNG:getDefaultBgColor()
   oStatbar:oMIco:Setcaption(oSbPNG)


CLASS ResourceAsBmp FROM XbpBitmap
   EXPORTED:
   INLINE METHOD Load( cDll, nID, cType )
      LOCAL xResource
      IF Empty( cType )
         ::XbpBitmap:load( cDll, nID )
      ELSE
         xResource := LoadResource( nID, cDll, cType )
         ::setBuffer( xResource )
      ENDIF
   RETURN Nil
ENDCLASS
gruss by OHR
Jimmy
Antworten