AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Canvas-Ausschnitt vergrößern

Canvas-Ausschnitt vergrößern

Ein Thema von ztor · begonnen am 20. Aug 2006 · letzter Beitrag vom 21. Aug 2006
Antwort Antwort
ztor

Registriert seit: 20. Mär 2006
3 Beiträge
 
#1

Canvas-Ausschnitt vergrößern

  Alt 20. Aug 2006, 00:38
Hallo,

ich habe eine Image-Komponente, auf der ich einen Rahmen aufziehen kann. Damit kann man einen Bereich auswählen, der dann so vergrößert werden soll, dass er das komplette Image füllt. Ich habe schon ein wenig mit StretchDraw rumgefummelt, komme aber auf keinen Ansatz, wie man das Problem lösen könnte.

MFG und Danke
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Canvas-Ausschnitt vergrößern

  Alt 20. Aug 2006, 02:15
Na, dann zeig dochmal den Code, den du bisher schon hast.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ztor

Registriert seit: 20. Mär 2006
3 Beiträge
 
#3

Re: Canvas-Ausschnitt vergrößern

  Alt 20. Aug 2006, 16:33
Naja, der hat ja überhaupt nicht funktioniert. Ich habe ehrlichgesagt keinen richtigen Ansatz.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Canvas-Ausschnitt vergrößern

  Alt 20. Aug 2006, 16:52
Delphi-Quellcode:
var Rec: TRect;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 rec.Left := x;
 rec.Top := y;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Rec.Bottom := y;
 Rec.Right := x;
end;

procedure TForm1.Button1Click(Sender: TObject);
var tmp: TBitmap;
begin
 tmp := TBitmap.Create;
 tmp.Width := Image1.Picture.Bitmap.Width;
 tmp.Height := Image1.Picture.Bitmap.Height; tmp.Canvas.CopyRect(Rect(0,0,Image1.Picture.Bitmap.Width,Image1.Picture.Bitmap.Height),Image1.Picture.Bitmap.Canvas,Rec);
 Image1.Picture.Bitmap := tmp;
 tmp.Free;
end;
Also das ist jetzt halt ein Ansatz.
Damit wird das obere linke Rechteck mit der größe 300Pix*300Pix vergrößert dargestellt so wie dus willst... musst das ganze halt auf deine Kompo übertragen.

EDIT: Code verbessert. Geht nur richtig wenn man von links nach rechts markiert.. Ansonsten muss man das halt nochn bisschen ändern

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
ztor

Registriert seit: 20. Mär 2006
3 Beiträge
 
#5

Re: Canvas-Ausschnitt vergrößern

  Alt 21. Aug 2006, 00:20
@Neutral General

Danke, dein Codebeispiel hat mir wirklich weitergeholfen.
In eine ähnliche Richtung hatte ich auch schon gedacht, aber an der Umsetzung hats gehapert.
Naja, wie auch immer... man lernt halt nich aus.

MFG und Thx
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:50 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