Hallo,
nachdem Michael "Pluto" mir so schnell beim Richedit / Richmemo geholfen hat, habe ich das nächste Problem bei Delphi/Lazarus.
Für schnelle komplizierte Bearbeitungen von 24-Bit RGB-Bitmaps nutzte ich oft, gerne und erfolgreich die Zeigeroperation "scanline".
Wie kann ich möglichst einfach derartige Delphi-Projekte in Lazarus übertragen, so, dass sie auch noch ohne Geschwindigkeitsverlust laufen.
Wer kann mir helfen, eine entsprechend geeignete Komponente zu finden, installieren, einzubinden und zu nutzen.
Vielen Dank
Erich
scanline
-
- Beiträge: 359
- Registriert: Mi 27. Mai 2009, 20:54
- OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
- CPU-Target: x86
- Wohnort: Cottbus
Re: scanline
Ein TBitmap besitzt ein Canvas.
TCanvas kennt auch unter Lazarus Scanline.
TCanvas kennt auch unter Lazarus Scanline.
Re: scanline
Ach ja? Seit wann? Mein Lazarus 0.9.31 r35294M FPC 2.6.0 x86_64-linux-gtk 2 kennt das nicht.Teekeks hat geschrieben: TCanvas kennt auch unter Lazarus Scanline.
-
- Beiträge: 359
- Registriert: Mi 27. Mai 2009, 20:54
- OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
- CPU-Target: x86
- Wohnort: Cottbus
Re: scanline
Echt nicht? Moment. Dann muss ich nachsehen.
Ich war mir eigentlich sicher.
Dann erst mal sorry für die Fehlinformation:(
Edit: Stimmt. Das war das TLazIntfImage welches das kann.
Weiteres dazu hier: http://wiki.lazarus.freepascal.org/Deve ... TLazCanvas
Ich war mir eigentlich sicher.
Dann erst mal sorry für die Fehlinformation:(
Edit: Stimmt. Das war das TLazIntfImage welches das kann.
Weiteres dazu hier: http://wiki.lazarus.freepascal.org/Deve ... TLazCanvas
Re: scanline
Eine Möglichkeit ist mein gutes altes OpBitmap http://www.theo.ch/lazarus/opbitmap64.zip" onclick="window.open(this.href);return false;erichW hat geschrieben: Wie kann ich möglichst einfach derartige Delphi-Projekte in Lazarus übertragen, so, dass sie auch noch ohne Geschwindigkeitsverlust laufen.
Geht auch schnell, aber es ist natürlich nicht das gleiche Prinzip dahinter wie bei Delphi.
Aber portieren sollte schnell gehen.
-
- 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:
Re: scanline
schau mal hier http://wiki.freepascal.org/Fast_direct_pixel_access" onclick="window.open(this.href);return false;
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: scanline
Ganz einfach, das Normale TImage benutzt TCanvas und ein Scanline ist dort aus Günden der Platformunabhängigkeit nicht so einfach möglich (haut mich wenn ich falsch liege).
Es gibt aber etliche von Usern gemachte Klassen mit denen man mit Scanline Arbeiten kann.
Dazu zählen OPBitmap, TLazIntfImage oder TBGRABitmap. Ich selbst benutze letzeres (weis aber nicht ob es tatsächlich das beste ist...)
Zudem besitzen die Meisten Klassen einen Alpha Channel für Transparenz.
Auf jedenfall würd ich mich unter dem link den Christian gepostet hat informieren...
Es gibt aber etliche von Usern gemachte Klassen mit denen man mit Scanline Arbeiten kann.
Dazu zählen OPBitmap, TLazIntfImage oder TBGRABitmap. Ich selbst benutze letzeres (weis aber nicht ob es tatsächlich das beste ist...)
Zudem besitzen die Meisten Klassen einen Alpha Channel für Transparenz.
Auf jedenfall würd ich mich unter dem link den Christian gepostet hat informieren...
Code: Alles auswählen
Signatur := nil;