AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi HDC eines TImage ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

HDC eines TImage ermitteln

Ein Thema von EWeiss · begonnen am 7. Okt 2006 · letzter Beitrag vom 7. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
EWeiss
(Gast)

n/a Beiträge
 
#1

HDC eines TImage ermitteln

  Alt 7. Okt 2006, 16:59
Leider gibt es ja keine PicBox in Delphi.
Benötige aber das hdc vom TImage ..

Ist die abfrage korrekt ?
Wird mir damit das richtige hdc der Image zugewiesen ?

Sorry wenn die frage etwas blöd klingt !

Delphi-Quellcode:
Var
PicMapDC : HDC;
Begin
PicMapDC := GetDC(picMap.Picture.Bitmap.Handle);
End;
oder bekomme ich dieses nur über TBitmap ?
wäre aber ein riesen umweg.

gruß
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: weiss es jemand ? TImage

  Alt 7. Okt 2006, 17:01
Ja. Also so ists wohl besser:

PicMapDC := picMap.Picture.Bitmap.Handle; // Edit:

...ne halt Stopp. Fehler meiner seit's. So erhältst du ja nur das HBitmap...

nim doch den DC vom

PicMapDC := picMap.Picture.Bitmap.Canvas.Handle;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: weiss es jemand ? TImage

  Alt 7. Okt 2006, 17:03
Zitat von turboPASCAL:
Ja. Also so ists wohl besser:

PicMapDC := picMap.Picture.Bitmap.Handle;
damit bekommst du aber nicht das hdc des Bitmaps sondern ein HBitmap welches nicht kompatibel mit hdc ist.

@EWeiss: Könntest du dem Beitrag bitte einen Aussagekräftigen Titel geben? "weiss es jemand?..." ist auf keinen Fall aussagegräftig (zumal weiss im sinne von wissen falsch geschrieben ist)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

Re: weiss es jemand ? TImage

  Alt 7. Okt 2006, 17:03
Zitat von turboPASCAL:
Ja. Also so ists wohl besser:

PicMapDC := picMap.Picture.Bitmap.Handle;
Hmmm das ist das handle der bitmap was mir da zurückgegeben wird oder ?
Ich benötige das hdc!

Edit:
Oder ist dies das Handle vom Device Contex?

gruß
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: weiss es jemand ? TImage

  Alt 7. Okt 2006, 17:06
TImage selbst hat kein eigenes HDC im herkömlichen Sinne eines Fensters da sich ein TImage nur auf das HDC seines Parents zeichnet.

DeviceContext = DC
Und das Handle ist wie oben schon geschrieben ein HBitmap. Also das Handle des Bitmaps und nicht das Handle eines DC.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: Aussagekräftiger Titel 'HDC eines TImage ermitteln'

  Alt 7. Okt 2006, 17:07
Korrektur oben... *schwitz*
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#7

Re: Aussagekräftiger Titel 'HDC eines TImage ermitteln'

  Alt 7. Okt 2006, 17:08
Geht doch so oder?

Delphi-Quellcode:
Var
PicMapDC : HDC;
Begin
PicMapDC := PicMap.Picture.Bitmap.Canvas.Handle);
End;
Aber Vorsicht!
Das DC ändert sich!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

Re: weiss es jemand ? TImage

  Alt 7. Okt 2006, 17:08
Zitat von SirThornberry:
TImage selbst hat kein eigenes HDC im herkömlichen Sinne eines Fensters da sich ein TImage nur auf das HDC seines Parents zeichnet.

DeviceContext = DC
Und das Handle ist wie oben schon geschrieben ein HBitmap. Also das Handle des Bitmaps und nicht das Handle eines DC.
Ja genauso wie in Vb
Deshalb ja meine frage ob es über GetDC .. Das Handle vom Device Contex picMap.Picture.Bitmap.Handle
in erfahrung zu bringen ist.

gruß
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

Re: Aussagekräftiger Titel 'HDC eines TImage ermitteln'

  Alt 7. Okt 2006, 17:14
Zitat von Sunlight7:
Geht doch so oder?

Delphi-Quellcode:
Var
PicMapDC : HDC;
Begin
PicMapDC := PicMap.Picture.Bitmap.Canvas.Handle);
End;
Aber Vorsicht!
Das DC ändert sich!
Darf sich nicht ändern.
Muss erhalten bleiben solange bis aus diesen Bitmap alle benötigten
ausschnitte des Bildes in ein neues TImages geblittet wurden.


was ist nun der unterschied ?

picMap.Picture.Bitmap.Handle
PicMap.Picture.Bitmap.Canvas.Handle

gruß
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#10

Re: HDC eines TImage ermitteln

  Alt 7. Okt 2006, 17:18
Habs gerade probiert, es funktioniert so.
Nur solltest Du vorher prüfen ob im Image ein Bitmap drinnen ist.

Das DC bleibt (meine ich) gültig bis man es neu abfragt, oder andere Nachrichten verarbeitet werden.


picMap.Picture.Bitmap.Handle <- Handle der Bitmap
PicMap.Picture.Bitmap.Canvas.Handle <- Handle des mit dem Bitmap verbundenen DC
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:33 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