AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bestimmten Bereich eines Bildes ausschneiden?

Bestimmten Bereich eines Bildes ausschneiden?

Ein Thema von OrNEC · begonnen am 23. Jan 2016 · letzter Beitrag vom 24. Jan 2016
Thema geschlossen
Seite 1 von 2  1 2   
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#1

Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 18:11
Hallo Jungs,

ich habe ein Image1 und Image2 auf dem Form liegen, nun möchte ich einen rechteckigen Teil aus Image1 ausschneiden und in Image2 anzeigen. Wie kann ich das anstellen? Muss zugeben, dass ich mit Grafik noch wenig was gemacht habe.

Habe leider im Image2 nur schwarze Fläche
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Quelle, Ziel: TRect;
begin
  Quelle := Rect(Image1.Left, Image1.Top, Image1.Left + 100, Image1.Top + 100);
  Ziel := Rect(Image2.Left, Image2.Top, Image2.Width, Image2.Height);
  Image2.Canvas.CopyRect(Ziel, Image1.Canvas, Quelle);
end;
Vielen Dank!

Geändert von OrNEC (23. Jan 2016 um 19:12 Uhr)
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 19:20
Die Zielkoordinaten sind relativ zum Zielcanvas. Wenn Du die also auf dessen Width und Height setzt, bist Du an der rechten unteren Ecke. Klar, dass man dann nichts sieht.
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
 
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 19:24
Die Zielkoordinaten sind relativ zum Zielcanvas. Wenn Du die also auf dessen Width und Height setzt, bist Du an der rechten unteren Ecke. Klar, dass man dann nichts sieht.
Eh... kapiere ich nicht...
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 19:29
Ziel := Rect(0, 0, Image2.Width, Image2.Height);
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
 
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 19:31
Ziel := Rect(0, 0, Image2.Width, Image2.Height);
Ok... bleibt aber weiterhin schwarz.
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 19:35
Dann schau Dir die Quellkoordinaten nochmal an.
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
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#7

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 20:24
Quelle ist wirklich richtig?

Und wie groß ist das Bitmap im Image2?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
 
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 20:35
Quäle mich hier schon fast ne Stunden. Also ich plane folgendes, ich habe einen Player wo beim Abspielen ein Spektrum angezeigt wird, da springen also Balken auf einer PaintBox hoch und runter. Der Hintergrund vom Spektrum ist Image2, siehe ScreenshotCopyRec.

Spectrum.SetBackGround(True, Image2.Picture.Graphic);

Image2 muss jetzt das Bild von Image1 an der gleichen Stelle annehmen, damit der User ein einheitliches Bild sieht. Das klappt aber nicht, siehe ScreenshotCopyRec2.


Image2.Left := 7;
Image2.Top := 44;
Image2.Width := 30;
Image2.Heigth := 73;

Ist da vllt die GroupBox schuld?
Miniaturansicht angehängter Grafiken
screenshotcopyrec.jpg   screenshotcopyrec2.jpg  

Geändert von OrNEC (23. Jan 2016 um 20:38 Uhr)
 
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 23. Jan 2016, 21:31
Ich hab's, die GroupBox hat alle Parameter durcheinander gebracht.

Jetzt eine andere Frage, wo packe ich den Code, damit das beim Start der Anwendung abgearbeitet wird?

ObShow, OnPaint, OnResize machen da nicht mit.
 
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Bestimmten Bereich eines Bildes ausschneiden?

  Alt 24. Jan 2016, 19:32
Push... ist fast ein Tag vergangen und ich finde kein Ereignis wo ich CopyRect beim Start der Anwendung packen kann.
P.S. verwende Lazarus
 
Thema geschlossen
Seite 1 von 2  1 2   

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 10:02 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