AGB  ·  Datenschutz  ·  Impressum  







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

Bild eines TImage positionieren

Ein Thema von Antonov · begonnen am 16. Mai 2014 · letzter Beitrag vom 16. Mai 2014
Antwort Antwort
Antonov

Registriert seit: 11. Apr 2014
21 Beiträge
 
FreePascal / Lazarus
 
#1

Bild eines TImage positionieren

  Alt 16. Mai 2014, 17:46
Seit einem halben Tag quäle ich mich schon durch Delphi Hilfe und Internet und finde einfach nichts zu meiner Fragestellung:

Das Picture eines TImage zeichnet sich normalerweise so, dass es oben links anfängt. Ich möchte aber die ersten(!) 100 Pixel von Top und Left abgeschnitten und den Rest gezeichnet haben wie die Ränder des TImage es zulassen. Andersrum ist es ja einfach, indem man einfach die TImage bounds verkleinert, dass man die letzten 100 Pixel einfach abschneidet. Aber wie kriegt man es hin, dass man den sichtbaren Bereich quasi so einstellt, wie man es möchte?
Zur Veranschaulichung habe ich ein Beispiel als jpg angehängt.
Mein Vorhaben ist eine Zoomfunktion zu basteln, womit ich mit einem erzeugten TImage auf Mausclick einen Bereich des Bildes heraushebe.
Miniaturansicht angehängter Grafiken
sample.jpg  
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: Bild eines TImage positionieren

  Alt 16. Mai 2014, 19:47
Also, TImage hat u. a. die Eigenschaften AutoSize, Center und Strech.

AutoSize passt die Größe der Image-Komponente dem Bild (z. B. Bitmap) an. Hier passt sich die Komponente dem Bild an.

Strech passt sich das Bild an die Image-Komponente an. Das Bild wird zur Not vergrößert oder verkleinert.

Center positioniert das Bild mittig in der Komponente.

Gehen wir man davon aus, dass du das Bild nicht verändern willst. Machst du die Komponente genauso breit wie das Bild und 200 Pixel in der Höhe kleiner wie das Bild und positionierst es mittig, werden oben und unten je 100 Pixel verdeckt. Z. B. so:

Delphi-Quellcode:
  Image1.Width := Image1.Picture.Bitmap.Width;
  Image1.Height := Image1.Picture.Bitmap.Height - 200;
  Image1.Center := True;
Ansonsten das Bild mit Canvas.CopyRect zuschneiden.
  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 23: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