AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Vergrößern von TImage bzw. Bitmap
Thema durchsuchen
Ansicht
Themen-Optionen

Vergrößern von TImage bzw. Bitmap

Ein Thema von Captnemo · begonnen am 16. Mär 2007 · letzter Beitrag vom 16. Mär 2007
Antwort Antwort
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

Vergrößern von TImage bzw. Bitmap

  Alt 16. Mär 2007, 07:09
Hallo Leutz,

ich will die Größe von eimen TImage bzw. deren Bitmap in der Höhe verändern und darunter per Canvas einen Text ausgeben.
Aus welchem Grund auch immer, wird zwar das Image vergrößert, aber jede Ausgabe auf dem Canvas wird mit dem unteren Rand des urprünglichen Bitmaps abgeschnitten.

Hier mal ein Beispielcode:

Delphi-Quellcode:
       pic[I]:=TImage.Create(self);
       pic[i].Name:='Pic'+inttostr(i);
       pic[I].Parent:=scrlbx1;
       pic[I].Left:=(c*maxb)+10;
       pic[I].Top:=r+10;
       pic[I].Width:=jpeg.Width;
       pic[i].Picture.Bitmap.Assign(jpeg);

       //Hier will ich mal zum Test einen Kasten ausgeben,
       //der genau unter dem Bild sitzen sollte
       pheigth:=jpeg.Height;
       pic[i].Height:=jpeg.Height+100;
       rect.Left:=0;
       rect.Top:=pheigth;
       rect.Right:=pic[i].Width;
       rect.Bottom:=pic[i].Height;
       pic[i].Canvas.Brush.Color:=clRed;
       pic[i].Canvas.Pen.Color:=clRed;
       pic[i].Canvas.FillRect(rect);
       //Ende von dem Test

       pic[i].Cursor:=crHandPoint;
       pic[i].Hint:=dm1.q_bilder_laden.fieldbyname('Bildpfad').AsString;
       pic[i].Tag:=i;
       pic[i].OnClick:=Image1Click;
       pic[i].OnDblClick:=Image1DblClick;

       //Und hier sollte der Text mal ausgegeben werden
       //pheigth:=pic[i].Height;
       //pic[i].Height:=pic[i].Height+100;
       rect.Top:=pheigth;
       rect.Left:=0;
       rect.Right:=pic[i].Width;
       rect.Bottom:=pic[i].Height;

       //die 5 Pixel, die ich von pheigth abgezogen habe, liegen auf dem original Bitmap. Interessanterweise
       //werden die ausgegeben, aber gleich abgeschnitten.
       pic[i].Picture.Bitmap.Canvas.TextOut(10,pheigth-5,dm1.q_bilder_laden.fieldbyname('Kommentar').AsString);
       pic[i].Picture.Bitmap.Canvas.TextRect(rect,0,0,dm1.q_bilder_laden.fieldbyname('Kommentar').AsString);
Was im Code vielleicht etwas verwirrend ist, ich habe versucht sowohl auf dem TImage.Canvas als auch auf
dem TImage.Picture.Bitmap.Canvas zu zeichnen. Der Effekt war aber augenscheinlich gleich.

Ich hab jetzt schon alles mögliche ausprobiert, um mir das zu verdeutlichen, aber ich find den Haken nicht.
Hat jemand eine Idee?

Danke
Captnemo
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Vergrößern von TImage bzw. Bitmap

  Alt 16. Mär 2007, 07:16
Moin,

beim Vergrößern des Images wird die Zeichenfläche bzw. Canvas nicht vergrößert. Das musst du noch manuell erledigen. Folgendes fällt mir gerade ein:

Delphi-Quellcode:
Image1.Picture.Graphic.Width := Image1.Width;
Image1.Picture.Graphic.Height := Image1.Height;

Edit: Hatte mehrere Möglichkeiten gepostet, doch die waren Mist.
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#3

Re: Vergrößern von TImage bzw. Bitmap

  Alt 16. Mär 2007, 07:24

Hammer Warum fallen mir so einfach Sachen nicht selbst ein

Dank dir für den Tipp. Werd ich gleich mal ausprobieren.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#4

Re: Vergrößern von TImage bzw. Bitmap

  Alt 16. Mär 2007, 07:32
Habs ausprobier.

Hat sowas von funktioniert....vielen Dank
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  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:15 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