AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Stretchblt

Ein Thema von R2009 · begonnen am 26. Jun 2009 · letzter Beitrag vom 26. Jun 2009
Antwort Antwort
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#1

Problem mit Stretchblt

  Alt 26. Jun 2009, 06:25
Hi,

warum funktioniert Stretchblt nicht wenn ich als Ziel image1.picture.bitmap angebe?
Nutze ich statt image1 den canvas einer Form funktioniert das einwandfrei.
( t ist als tbitmap deklariert und create ist aufgerufen).

Delphi-Quellcode:
  image1.picture.bitmap.Width:=500;image1.picture.bitmap.Height:=500;
  stretchblt(image1.picture.bitmap.handle,
    200,200,image1.picture.bitmap.width,image1.picture.bitmap.height,
    t.canvas.handle,
    100,100,t.width,t.height,
    SRCCOPY);
Vielen Dank im Vorraus!
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Problem mit Stretchblt

  Alt 26. Jun 2009, 06:38
Hi,

so funktioniert das Ganze. Ist mit aber nicht klar warum.

Delphi-Quellcode:
  image1.picture.bitmap.Width:=500;image1.picture.bitmap.Height:=500;
  stretchblt(image1.canvas.handle,
    0,0,sb1.position,sb1.position,//image1.picture.bitmap.width,image1.picture.bitmap.height,
    t.canvas.handle,
    100,100,t.width,t.height,
    SRCCOPY);
Der einzige Unterschied besteht darin dass ich einmal das handle der Bitmap als Ziel angebe und das andere Mal den Canvas von Image.

Kann mir jemand auf die Sprünge helfen?

Vielen Dank im Vorraus!
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

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

Re: Problem mit Stretchblt

  Alt 26. Jun 2009, 07:08
Zitat:
( t ist als tbitmap deklariert und create ist aufgerufen).
Ist es auch in Höhe und Breite initialisiert ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Problem mit Stretchblt

  Alt 26. Jun 2009, 10:21
Sowohl ein Bitmap als auch ein Canvas haben ein Handle, für Stretchblt kannst du aber nur das Handle von einem Canvas benutzen! Bitmpa.Handle <> Bitmap.Canvas.Handle

Auch wenn beide in Delphi den gleichen Typ haben und zuweisungskompatibel sind, ist das eine ein HDC und das andere ein HBITMAP
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Problem mit Stretchblt

  Alt 26. Jun 2009, 11:59
Hi,

ich bin ja soo doof!
Hätte ich auch selbst drauf kommen können!

Danke!
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  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 21:19 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