BitBlt und DCs unter Linux ?

Antworten
Nils
Beiträge: 130
Registriert: Mo 28. Mai 2007, 12:36
Kontaktdaten:

BitBlt und DCs unter Linux ?

Beitrag von Nils »

Hi,

ich möchte ein Windowsprogramm für Linux neuschreiben bzw. zusammenkopieren. Dazu muss ich alle Prozeduren, Funktionen, Komponenten usw. auf Lazarus übertragen. Früher habe ich eine Farbverlaufkomponente benutzt (nicht leicht bei Lazarus zu installieren), die mir Buttons, Trackbars und Panels schön darstellen konnte. Wenn ich meinen Player aber schon neuschreiben muss, frag ich mich gerade, ob es nicht sinnvoll wäre, das Skinsystem mit Bildern aufzubauen (ein Bild ist ein Skin und aus dem Bild werden die Teilabschnitte ausgelesen und via BitBlt zur Laufzeut auf die Form gezaubert), damit man noch schönere Skins erstellen und laden kann. BitBlt und HDC gibt es glaube ich unter Linux aber nicht, wie könnte man es also für Linux lösen ? Im Anhang seht ihr einen Skin.

[OT]
Ich weiß, es sind viele Projekte...in jedem Thread geht es um ein anderes..., aber die Textkomponente habe ich still gelegt (werde ich später erst brauchen und da schau ich dann lieber, ob es Sinn macht sich noch zig Wochen mit einer eigenen Komponente rumzuschlagen) und mit lNet kann ich nur bei Gelegenheit weitermachen. Ist eben ein bisschen chaotisch hier, aber ich weiß schon, wie ich die Zeit aufteilen muss. Deshalb keine Sorge :P
[/OT]
Dateianhänge
Gen.bmp

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

Re: BitBlt und DCs unter Linux ?

Beitrag von theo »

Nils hat geschrieben:BitBlt und HDC gibt es glaube ich unter Linux aber nicht, wie könnte man es also für Linux lösen ?


Wie wärs mit den OP Methoden Draw oder CopyRect?

Ich finde sowieso Lazarus ist zuwenig konsequent mit dem Ausmisten von WinAPI Code.
In diesem Punkt hat mir die CLX eigentlich ganz gut gefallen.

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 »

BitBlt gibts doch und DC´s mappt Lazarus auch um kannst also auch unter Linux wie gewohnt arbeiten wenn alle Funktionen im Widgetset implementiert sind... besser ist es aber den canvas zu benutzen.
Und das du auf Komponenten rummalen kannst das vergiss mal schnell. Das ist unter Delphi ein Workaround und funktioniert unter Linux und Macos garantiert nicht. Dazu musst du schon eigenen Komponenten schreiben die sich selbst zeichnen. Allerdings halt ich es für Quatsch Appliokationen zu skinnen. Wenn jemand ein anderes Aussehen für meine Anwendungen haben will kann er das Problemlos übers Widgetset lösen.
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 »

aber nicht jeder kennt sich mit den Widgetset aus. Und weiß wo welche Einstellungen vorzunehmen sind.

Ich finde BitBtl nicht schlecht. schön das es sowas gibt, weil copyRect kann man ja leider Vergessen(aber das hatten wir ja schonmal).
und Draw ebenfalls. .
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 »

Wiso kannst du Draw vergessen ?
Und was hat Copyrecht mit BitBlt zu tun ?
Draw und StretchDraw funktionieren und die kannst du als Copyrect ersatz und BitBlt Ersatz nehmen.
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 »

Draw kann ich leider nicht die Größe bestimmen sonder nur die X und Y Position.
Es kann natürlich sein, das es Praktisch ist.

Copyrect sollte genauso gehen wie BitBtl. ist im Grunde ein und das selbe.
(so war es unter Windows)

StretchDraw wollte ich mal ausprobieren aber Irgendwie klappte das nicht so.
(Aber genau weiß ich es jetzt nicht mehr)

Mein Favorit ist auf jeden Fall BitBtl. Unter allen Möglichkeiten die es gibt !
(wobei ich kenne davon auch nur ca 4 oder 5)
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 »

Natürlich kannst du bei Draw nur die Koordinaten bestimmen für alles andere gibts ja StretchDraw.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Nils
Beiträge: 130
Registriert: Mo 28. Mai 2007, 12:36
Kontaktdaten:

Beitrag von Nils »

Danke für die Hinweise, werde es mir anschauen. Endlich wieder Linux, war schon auf Entzug :mrgreen:
Meine Musik: spiker-music.net

Antworten