AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bitmap: Bildgröße ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap: Bildgröße ändern

Ein Thema von KPBecker · begonnen am 18. Sep 2007 · letzter Beitrag vom 19. Sep 2007
Antwort Antwort
KPBecker

Registriert seit: 1. Mär 2004
Ort: Mannheim
120 Beiträge
 
Delphi 2010 Architect
 
#1

Bitmap: Bildgröße ändern

  Alt 18. Sep 2007, 14:41
Hallo, Delphi-Praktiker,

ich möchte ein Bitmap gegebener Größe auf andere Größen umrechnen `(kleiner und größer, nicht einfach klippen).
Z.B. von der Kamera kommt 1920 x 1440, das soll auf 640 x 480 gebracht werden. Wie das zu interpolieren wäre ist mir schon klar.

Die Frage hier ist: Gibt es eine vorhandene procedure / Methode in Delphi, die genau dieses macht ?

Vielen Dank,
K.-P. Becker
  Mit Zitat antworten Zitat
ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

Re: Bitmap: Bildgröße ändern

  Alt 18. Sep 2007, 14:51
Salut, hiermit wäre sowas möglich:

Delphi-Quellcode:
SetStretchBltMode(TrgBMP.Canvas.Handle,HALFTONE);
StretchBlt(TrgBMP.Canvas.Handle,0,0,TrgBMP.Width,TrgBMP.Height,SrcBMP.Canvas.Handle,0,0,SrcBMP.Width,SrcBMP.Height,SRCCOPY);
Gruss,
Ken
  Mit Zitat antworten Zitat
KPBecker

Registriert seit: 1. Mär 2004
Ort: Mannheim
120 Beiträge
 
Delphi 2010 Architect
 
#3

Re: Bitmap: Bildgröße ändern

  Alt 18. Sep 2007, 14:59
Hallo, Ken,

wo kommen denn diese Funktionen her ? Die Delphi-Hilfe kennt beide nicht. (StretchBlt)

KPB
  Mit Zitat antworten Zitat
ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Bitmap: Bildgröße ändern

  Alt 18. Sep 2007, 15:06
Aus der Unit: Windows

und die Delphi Hilfe (aktuell auf meinem NB unter BDS2006) kennt beide Befehle sauber dokumentiert.

Hier ein kleiner Auszug aus der Delphi Hilfe für StretchBlt:

Zitat von Delphi Hilfe:
StretchBlt
The StretchBlt function copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary. The system stretches or compresses the bitmap according to the stretching mode currently set in the destination device context.

BOOL StretchBlt(
HDC hdcDest, // handle to destination DC
int nXOriginDest, // x-coord of destination upper-left corner
int nYOriginDest, // y-coord of destination upper-left corner
int nWidthDest, // width of destination rectangle
int nHeightDest, // height of destination rectangle
HDC hdcSrc, // handle to source DC
int nXOriginSrc, // x-coord of source upper-left corner
int nYOriginSrc, // y-coord of source upper-left corner
int nWidthSrc, // width of source rectangle
int nHeightSrc, // height of source rectangle
DWORD dwRop // raster operation code
);
  Mit Zitat antworten Zitat
KPBecker

Registriert seit: 1. Mär 2004
Ort: Mannheim
120 Beiträge
 
Delphi 2010 Architect
 
#5

Re: Bitmap: Bildgröße ändern

  Alt 18. Sep 2007, 15:29
Jetzt hab' ich's auch: Windows SDK

Danke,
K.-P. Becker
  Mit Zitat antworten Zitat
KPBecker

Registriert seit: 1. Mär 2004
Ort: Mannheim
120 Beiträge
 
Delphi 2010 Architect
 
#6

Re: Bitmap: Bildgröße ändern

  Alt 19. Sep 2007, 16:32
Hallo, Delphi-Praktiker,

leider funktioniert das nicht so, wie ich es mir dachte.

Das Programm läßt sich ohne StretchBlt fehlerfrei compilieren.
Baue ich StretchBlt ein, wird dieser Bezeichner nicht erkannt - was zu erwarten ist.

Füge ich 'uses ..., windows' dazu, werden alle mit TBitmap definierten Bezeicher nicht mehr richtig erkannt:
z.B. MyBitmap.Height --> undefinierter Bezeichner
(Wie gesagt, ohne 'uses ..., windows' tritt diese Meldung nicht auf.)

- Ist in windows TBitmap anders definiert ?
- Ist 'windows' nicht die richtige Angabe in uses ?
- Wie kann ich diesen Fehler vermeiden ?

Vielen Dank,
K.-P. Becker
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Bitmap: Bildgröße ändern

  Alt 19. Sep 2007, 16:37
das liegt daran das TBitmap in der unit Windows und in der Unit Graphics definiert sind. Die unit die als letztes eingebunden wird ist maßgebend. Du musst also einfachnur dafür sorgen das die unit windows vor der unit graphics aufgeführt ist in den uses
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: Bitmap: Bildgröße ändern

  Alt 19. Sep 2007, 16:38
Oder in der Variablen-Deklaration TBitmap in Graphics.TBitmap ändern.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
KPBecker

Registriert seit: 1. Mär 2004
Ort: Mannheim
120 Beiträge
 
Delphi 2010 Architect
 
#9

Re: Bitmap: Bildgröße ändern

  Alt 19. Sep 2007, 16:46
Hallo, Jens & Deddy !

1. Was es nicht alles gibt !
2. Woher Ihr das bloß alles wißt !

Besten Dank,
Klaus-Peter
  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:18 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