AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap aus Clipboard laden

Ein Thema von Amateurprofi · begonnen am 8. Apr 2025 · letzter Beitrag vom 26. Mai 2025
Antwort Antwort
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.111 Beiträge
 
Delphi XE2 Professional
 
#1

AW: Bitmap aus Clipboard laden

  Alt 9. Apr 2025, 23:01
Das geht aber auch in Delphi auch. Nur halt eventuell nicht mit Canvas, sondern der Gr32 oder was in der Art.
Das geht auch mit Canvas, aber warum erst eine Prozedur schreiben, wenn Paint das Zuschneiden von Bildern perfekt macht?
Ich könnte auch alles mit Buntstiften abmalen. Will ich aber nicht.
Weil es einfacher ist eine Bmp-Datei mit einem externen Programm zu öffnen, darin mit dem externen Programm rumzumalen, es in die Zwischenablage zu kopieren und von dort dann endlich in Delphi zu öffnen?
Das sind keine Buntstifte, das sind Tanklaster voller Farbe.

Abgesehen davon dass Du nicht steuern kannst wie Paint das Bild in die Zwischenablage schreibt, können auch alle Programm die eine Zwischenablage implementiert haben sich das Bild "heimlich" ziehen. Inclusive offene Remote Sessions (soweit nicht deaktiviert).
Zu "Weil es einfacher ist ..."
Ja

Zu "dass Du nicht steuern kannst wie Paint das Bild in die Zwischenablage schreibt"
Ich bin dabei das herauszufinden.

Zu "können auch alle Programm"
Hab ich nichts dagegen.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.111 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Bitmap aus Clipboard laden

  Alt 18. Apr 2025, 23:38
Ich habe jetzt geprüft welche Daten unter CF_DIB im Clipboard stehen, nachdem eine .bmp-Datei mit dem Pixelformat pf8bit mit Paint geöffnet wurde und mit Ctrl-A und Ctrl-C ins Clipboard kopiert wurde.

In Kürze (Komplette Auswertung im Anhang)
Im Clipboard stehen unter CF_DIB folgende Daten:
1) Der komplette BitmapInfoHeader (40 Bytes).
Die Daten sind korrekt.
2) Die Palette mit 256 Einträgen. (1024 Bytes).
Warum eine Palette mit 256 Einträgen gespeichert wird, wenn nur 26 verschiedene Farben in der Bitmap enthalten sind, erschließt sich mir nicht.
Von den 26 Farben der Bitmap sind nur 4 in der Palette enthalten-
3) Die Farbinformationen (Indizes in die Palette) (256 Bytes).
4) Daten, deren Bedeutung (mir) unklar sind. (2776 Bytes).

Wenn ich die Datei mit Photoshop üffne und ins Clipboard kopiere sieht das anders aus,
Dann sind unter CF_DIB gespeichert:
1) Der komplette BitmapInfoHeader (40 Bytes).
Anders als bei Paint sind biClrUsed und biClrImportant = 239 (statt 0 bei Paint).
2) Die Palette mit 239 Einträgen. (956 Bytes).
Warum die Palette gerade 239 Einträge hat, ist mir nicht klar, denn 26 Einträge wären ausreichend.
3) Die Farbinformationen (Indizes in die Palette) (256 Bytes).
Wenn ich dann z.B. in Paint ein Paste mache, wird das Bild korrekt angezeigt.
Angehängte Dateien
Dateityp: zip CllipboardDibData.doc.zip (16,5 KB, 4x aufgerufen)
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
749 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Bitmap aus Clipboard laden

  Alt 21. Apr 2025, 11:12
Hast Du mal probiert auszulesen was unter "Embed Source"

Was hat Du eigentlich für ein Windows / Revision ... würde das gerne mal selber probieren mit anderen Tools auszulesen.
Und, schonmal auf einem anderen Windows probiert?
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.111 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Bitmap aus Clipboard laden

  Alt 21. Apr 2025, 15:58
Hast Du mal probiert auszulesen was unter "Embed Source"

Was hat Du eigentlich für ein Windows / Revision ... würde das gerne mal selber probieren mit anderen Tools auszulesen.
Und, schonmal auf einem anderen Windows probiert?
Zu "Hast Du mal probiert"
Nein.

Zu "Was hat Du eigentlich für ein Windows"
Windows 7 Professional

Zu "schonmal auf einem anderen Windows probiert?"
Nein. (Hab nur dieses Windows.)
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#5

AW: Bitmap aus Clipboard laden

  Alt 21. Apr 2025, 16:20
Also mit Windows 11 und dessen aktuellem Paint kann ich das Problem nicht reproduzieren. Paint war bei Windows 7 allerdings noch sehr rudimentär und wurde seitdem deutlich überarbeitet. Ich habe Windows 7 aber nicht einmal mehr als VM, kann dort also nicht mehr testen.

Wenn es nur um Paint geht, könntest du als Ersatz Paint.net verwenden. Das befüllt die Zwischenablage auch deutlich besser.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
749 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Bitmap aus Clipboard laden

  Alt 21. Apr 2025, 17:38
Win 7 ist auch bei mir alle. Neulich gerade die letzte alte VM nach fast 10 Jahren nochmal final auf verlorene Daten geprüft und gelöscht.

Wenn ich mich recht erinnere müssen Bilder ohne Palette kommen damit sie unverändert übernommen werden. Also mindestens pf24Bit.
Ich habe damals angefangen mit IrfanView zu arbeiten oder es selber zu programmieren.
Dank GR32 war das irgendwann (man musste es ja erst finden im www) auch keine schweißtreibende Arbeit mehr.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.111 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Bitmap aus Clipboard laden

  Alt 21. Apr 2025, 21:55
Also mit Windows 11 und dessen aktuellem Paint kann ich das Problem nicht reproduzieren. Paint war bei Windows 7 allerdings noch sehr rudimentär und wurde seitdem deutlich überarbeitet. Ich habe Windows 7 aber nicht einmal mehr als VM, kann dort also nicht mehr testen.

Wenn es nur um Paint geht, könntest du als Ersatz Paint.net verwenden. Das befüllt die Zwischenablage auch deutlich besser.
Danke, jaenicke.
Gerade das Paint so "rudimentär" ist, gefällt mit,
Mehr, als Paint kann, brauche ich i.d.R. nicht.

Wollte mir trotzdem Paint.net runterladen, fiel dann aber über die System-Requirements.
Angehängte Grafiken
Dateityp: jpg Unbenannt.jpg (84,9 KB, 27x aufgerufen)
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#8

AW: Bitmap aus Clipboard laden

  Alt 22. Apr 2025, 23:06
Wollte mir trotzdem Paint.net runterladen, fiel dann aber über die System-Requirements.
Als Windows 7 Nutzer dachte ich, dass du damit vertraut seist, dass du bei Software immer schauen musst, welches die letzte Version für Windows 7 war. Dass aktuelle Versionen verbreiteter Software mit Museumssoftware nicht mehr kompatibel sind, ist ja der Normalfall.

In diesem Fall brauchst du Version 4.3.12:
https://www.getpaint.net/updates/zip...anycpu.web.zip
Sebastian Jänicke
AppCentral

Geändert von jaenicke (22. Apr 2025 um 23:10 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz