AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung BITBLT cross platform variante für FMX / LINUX
Thema durchsuchen
Ansicht
Themen-Optionen

BITBLT cross platform variante für FMX / LINUX

Ein Thema von bernhard_LA · begonnen am 27. Okt 2018 · letzter Beitrag vom 2. Nov 2018
Antwort Antwort
Seite 1 von 3  1 23      
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

BITBLT cross platform variante für FMX / LINUX

  Alt 27. Okt 2018, 14:28
Hallo,


kann jemand eine unter FMX / LINUX verfügbare Variante von

Delphi-Quellcode:


/// WINDOWS GDI32
function BitBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC;
  XSrc, YSrc: Integer; Rop: DWORD): BOOL; stdcall;




/// FMX LINIX Variante ????
function BitBlt(DestDC: THandle; X, Y, Width, Height: Integer; SrcDC: THandle;
  XSrc, YSrc: Integer; Rop: DWORD): Boolean;
begin
    /// hier fehlt der code :-)

end
;



anbieten. Ich will Code der unter VCL / Windows läuft dann nur durch einen Austausch der eingebunden Units auch unter LINUX weiterverwenden.
Vielleicht muss ich das Rad nicht neu erfinden

Geändert von bernhard_LA (27. Okt 2018 um 14:45 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 27. Okt 2018, 14:51
Gibt es nicht Wine für Linux?
Und sollte open source sein.

Schau doch mal wie die das Handhaben.

gruss

Geändert von EWeiss (27. Okt 2018 um 14:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 27. Okt 2018, 14:51
CopyFromBitmap abgeleitet vom TBitmap sollte in etwa das gleiche machen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 27. Okt 2018, 15:06
CopyFromBitmap abgeleitet vom TBitmap sollte in etwa das gleiche machen.
Keine Ahnung wo du deine Informationen immer herholst.

CopyFromBitmap basiert auf direct2d Linux unterstützt aber kein direct2d es sei denn man verwendet Wine (Wrapper für Windows)
Ich glaube ab vers. 1.8 wird direct2d unterstützt.

Wenn schon dann würde ich etwas aus GetDIBits und Konsorte zusammen schustern. (Bin mir aber nicht sicher ob Linux diese API kennt)

gruss

Geändert von EWeiss (27. Okt 2018 um 15:27 Uhr)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 27. Okt 2018, 15:08
unter Windows übergebe ich das Handle auf eine Canvas unter FMX hat die Bitmap zwar ein HAndle aber die Canvas nicht .....


Delphi-Quellcode:
unit windows_linunx;





function BitBlt(DestDC: THandle; X, Y, Width, Height: Integer; SrcDC: THandle;
  XSrc, YSrc: Integer; Rop: DWORD): Boolean;
begin
    /// hier fehlt der code :-)

    CopyFromBitmap ( ...) /// wäre schon OK - wenn verfügbar ????

end;

ich will eine Code variante für beide Platformen, und möglicst die exisierende Variante VCL unverändert .... weil die funktioniert momentan
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 27. Okt 2018, 15:10
CopyFromBitmap basiert auf direct2d ist also nicht verfügbar.

FMX.Graphics.TBitmap.CopyFromBitmap

ist die FMX variante die denke ich mal ebenfalls auf direct2d aufbaut.
Ist aber unter Linux so nicht anwendbar.

Zitat:
und möglicst die exisierende Variante VCL unverändert .... weil die funktioniert momentan
Dann nimm sie doch wenn es geht.
Zitat:
unter Windows übergebe ich das Handle auf eine Canvas unter FMX
was denn nu FMX und\oder Linux.

Und nochmal
Bitblt unter Linux..

Hier noch ein anderer link!

gruss

Geändert von EWeiss (27. Okt 2018 um 15:49 Uhr)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 27. Okt 2018, 15:43
ich hätte primär gerne eine 100 % FMX // UNIX Veriante von meinem code - ohne die Verwendung von weiteren Tools auf der Unix Seite

wenn WinE, dann würde ich gerne nur diese c++ Datei verwenden und
wie binde ich die Wine Blibliothek in meine Delphi Anwendung ein ?
Gibt es hier eine Demo Code Varianate ?

Geändert von bernhard_LA (27. Okt 2018 um 16:02 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 27. Okt 2018, 16:01
wie binde ich die Wine Blibliothek in meine Delphi Anwendung ein ?
Gibt es hier eine Demo Code Varianate ?
sorry das kann ich dir auch nicht sagen..

Ich denke aber wenn Wine unter Linux installiert ist und deine Anwendung mit .exe endet erkennt der Wrapper selbst ob es eine Windows Anwendung ist oder nicht.
In dem fall kannst du ganz normal BitBlt verwenden und Wine macht den Rest.
Es ist keine Bibliothek sondern ein Wrapper der Windows Anwendungen in UNIX fähigen Format umlegt.

In meinem anderen link. http://www.gtk.org/ framework welches von GIMP verwendet wird (Windows\Linux) gibt es diese Möglichkeiten.

Zitat:
BitBlt: depends what you're blitting to. Look at the Gdk Pixbuf functions.
SelectObject: no equivalent you don't need to select stuff into a DC to use it on Linux
CreateCompatible*: gdk_pixbuf_new_from_data
GetPixel/SetPixel: Again look at GDK but you don't really want to use this stuff, for image manipulation check out Cairo (still under heavy development)
Aber auch hier keine Ahnung ob man das unter Delphi mit einbinden kann.

gruss

Geändert von EWeiss (27. Okt 2018 um 18:23 Uhr)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 28. Okt 2018, 07:35
wenn ich wine verwende , da benötige ich auch keinen DELPHI UNIX compiler -> mein Ziel Cross Platform mit Delphi
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: BITBLT cross platform variante für FMX / LINUX

  Alt 28. Okt 2018, 08:01
CopyFromBitmap abgeleitet vom TBitmap sollte in etwa das gleiche machen.
Keine Ahnung wo du deine Informationen immer herholst.

CopyFromBitmap basiert auf direct2d Linux unterstützt aber kein direct2d es sei denn man verwendet Wine (Wrapper für Windows)
Hier habe ich die Information her und da steht nichts vonwegen limitiert auf Direct2D....
Wenn es so ist, tuts mir leid.


/edit
@bernhard_LA: Zeige doch mal bitte in form von Code was Du mit dem BitBlt() aufruf machen möchtest unter non-Windows.
Gruß vom KodeZwerg

Geändert von KodeZwerg (28. Okt 2018 um 08:13 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz