OpBitmap Erfahrungen

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

OpBitmap Erfahrungen

Beitrag von theo »

Ich möchte mal gerne wissen, wer von euch OPBitmap verwendet, und ob es "passt".
Ich bekomme relativ wenig Feedback, was zwei Dinge bedeuten kann:
1. Keiner verwendet es
2. Es funktioniert so ordentlich, dass es keine Fragen gibt.

Ich weiss, dass das OPBitmap Design aus einer Lazarus-Perspektive nicht leicht zu verstehen ist. Ich erkläre es gerne nochmal, falls es jemanden interessiert.
Für mich persönlich reicht es wie es ist für alles was ich brauche. Aber da kann es ja andere Meinungen geben.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Also ich finde die LIB klasse !
Wie schon an andere Stellen er erwähnt könnte es einige Vereinfachungen geben.... Aber nicht unbedingt...

Was ich noch toll finden würde währe, wenn auch noch ein Paar Video Formate unterstützt würden... soweit das nur das erste oder irgendein Bild angezeigt werden kann......

Gibt es eigentlich noch mehr sachen wie z.b. Halb-Tranzparente sachen du da noch rein könnten ? Mir Fallen da nur Lichteffekte ein.....
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich benutz es beim Audio X versuch es jedoch zu vermeiden :p
Aus dem einfachen Grund ich bin da Verfechter der RTL+FCL.
Es ist sehr schön um viele Grafikformate laden zu können, viel schöner wäre es aber das ganze über TGraphic abwickeln zu können.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Da gebe ich dir recht, schön währe es...... aber ob das auch möglich ist/währe ?
MFG
Michael Springwald

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Ich habe die OpBitmap bisher getestet. Unter meinen Projekten findet sich derzeit kein Anwendungsbereich.

Auf der Rangliste der Stichworte, über die die Benutzer über google auf dieses Forum gelangen, belegt "opbitmap" immerhin Platz 9, was finde ich nicht schlecht ist. viewtopic.php?t=1002

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Christian hat geschrieben:Ich benutz es beim Audio X versuch es jedoch zu vermeiden :p
Aus dem einfachen Grund ich bin da Verfechter der RTL+FCL.
Es ist sehr schön um viele Grafikformate laden zu können, viel schöner wäre es aber das ganze über TGraphic abwickeln zu können.


Und wo siehst du das Problem?
Wenn du's wie in lclintegrationdemo verwendest (mit RegisterLazOp in der uses) brauchst du dich ja gar nicht mit dem OpBitmap rumschlagen.

@Alle: Danke für die Antworten.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Hab ich noch gar nicht gesehn, schön.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:
christian hat geschrieben:viel schöner wäre es aber das ganze über TGraphic abwickeln zu können.

Da gebe ich dir recht, schön währe es...... aber ob das auch möglich ist/währe ?


Es gibt schon Gründe, warum es nicht in die LCL eingebaut ist.
Erstens rechtliche Bedenken. Alle Bilddatei-Format-Routinen sind ja nicht von mir, sondern ich habe die nur im OpBitmap Package zusammengefasst.

Damit ich alle diese Delphi-Codes in vernünftiger Zeit einbauen konnte, habe ich den OpBitmap Kern geschrieben. Dieser ermöglich die Pixelformat-Umwandlung und Scanline zugriff wie ein VCL Bitmap.

Dass man neben FPImage nicht noch ein anderes Bitmap-Modell in die LCL einbauen will finde ich vernünftig.

Und letztlich läuft es so eben auch auf Delphi und Kylix, was mit einer FPImage Basis nicht der Fall wäre.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

naja es währe einfacher und bestimmt würde es auch schneller sein... Weil das Kopieren vermieden wird.... ich muss in meinem Spiel z.b. Dreimal deshalb kopieren:

Um eine Grafik als PNG anzuzeigen muss ich es erst in eine TBItmap kopieren und dann auf den Ausgabe Canvas.

Zuguter letzt habe ich noch ein Backup Buffer für den Hintergrund und einen Haup Buffer für das Eigentliche Projekt.....

Ich finde OpBitmap nicht schlecht.... aber was für rechte könnte es dagegen geben, wenn du es direkt einbauen würdestest ?


Ist das nicht im Prinzip schon das gleiche was du jetzt machst nur halt über den Umweg mit dem Umwandeln ?
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:naja es währe einfacher und bestimmt würde es auch schneller sein... Weil das Kopieren vermieden wird.... ich muss in meinem Spiel z.b. Dreimal deshalb kopieren:

Um eine Grafik als PNG anzuzeigen muss ich es erst in eine TBItmap kopieren und dann auf den Ausgabe Canvas.

Zuguter letzt habe ich noch ein Backup Buffer für den Hintergrund und einen Haup Buffer für das Eigentliche Projekt.....

Für die meisten deiner Kopierereien kann OPBitmap nichts. ;-)

pluto hat geschrieben:Ich finde OpBitmap nicht schlecht.... aber was für rechte könnte es dagegen geben, wenn du es direkt einbauen würdestest ?

GPL. Ausserdem wäre das nochmal sehr viel Arbeit.

pluto hat geschrieben:Ist das nicht im Prinzip schon das gleiche was du jetzt machst nur halt über den Umweg mit dem Umwandeln ?

Ich verstehe die Frage nicht.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ganz einfach: Du hast ja deine eigene Grafik Klasse geschaffen... also ein umweg weil mit deiner Klasse kann Lazarus nix anfangen.

Folge ich muss von deiner Klasse aus kopieren..... um es weiter verwenden zu können. Also dürfte es doch egal sein....

Wobei mir gerade einfällt was währe wenn du GDI direkt benutzten würdest ?

Oder würde das nix bringen ?
Man könnte deiner Klasse ein Grafik Handle geben was du deiner GDI übergibst und auf dieses Handle wird gleich gezeichnet so würde das umwandeln weg fallen.....
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:Wobei mir gerade einfällt was währe wenn du GDI direkt benutzten würdest ?

Oder würde das nix bringen ?
Man könnte deiner Klasse ein Grafik Handle geben was du deiner GDI übergibst und auf dieses Handle wird gleich gezeichnet so würde das umwandeln weg fallen.....


Sowas ähnliches könnte man machen. Aber für jedes System separat, was einen grossen Aufwand darstellt.
Ausserdem ist das ziemlich anfällig, auch auf Änderungen an der LCL.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

warum für jedes System anders ? ist die GDI nicht überall gleich ?
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Ich hatte ja mal für GTK sowas drin. (opbitmap1_5.zip).

Das ging im Kern dann so:

gdk_draw_rgb_32_image(TDeviceContext(Dest).Drawable, TDeviceContext(Dest).GC,
DstX, DstY, SrcWidth - SrcX, SrcHeight - SrcY, GDK_RGB_DITHER_NONE,
Pguchar(@Bitmap.Data.ScanLine[0][0]), LL);

Hier wird direkt der Pointer auf OPBitmap.Data,ScanLine[0][0] ans Widgetset übergeben.
Aber das ist ziemlich kompliziert.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ich hab bisher nur die Demos pobiert und da läuft alles bestens so wie man es erwartet. Ich will es auch in eiem Projekt in Zukunf nutzen (@theo hatte dafür bei dir ja schonmal angefragt)

Was Google angeht und die Suchbegriffe, iegt opBitmap momentan wenn man die letzen 30 Tage betrachtet auf Platz 5 der Suchbegriffe.
Johannes

Antworten