Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Größe in TImage (https://www.delphipraxis.net/166570-groesse-timage.html)

haentschman 19. Feb 2012 14:01

AW: Größe in TImage
 
you have to change... is an Idea but can be wrong :zwinker:
Delphi-Quellcode:
var aPicture:TBitmap;
    PictureName:string;
    aSourceRect:TRect;
   aDestinationRect;
begin
 aPicture:=TBitmap.Create;
 try
   aPicture.Width:=100; // your cutted Size
   aPicture.Height:=100; // your cutted Size
   aDestinationRect:= (0,0,100,100);
   aSourceRect:=Rect(100,200,200,300); // your cutted Rect
   aPicture.Canvas.CopyRect(aDestinationRect, YourPaintBox.Canvas, aSourceRect); // Copy the Rect from the Paintbox to the Image
   PictureName:= 'MyPicture'; // define the Name
   aPicture.SaveToFile('YourFolder\' + PictureName + '.bmp');
 finally
   aPicture.free;
 end

DeddyH 19. Feb 2012 14:07

AW: Größe in TImage
 
A short test:
Delphi-Quellcode:
procedure TFormTest.Button1Click(Sender: TObject);
var
  XIndex, YIndex, XMin, XMax, YMin, YMax: integer;
begin
  XMin := PaintBox1.ClientWidth;
  YMin := PaintBox1.ClientHeight;
  XMax := 0;
  YMax := 0;
  for YIndex := 0 to PaintBox1.ClientHeight - 1 do
    for XIndex := 0 to PaintBox1.ClientWidth - 1 do
      if PaintBox1.Canvas.Pixels[XIndex, YIndex] <>
        PaintBox1.Canvas.Brush.Color then
        begin
          if XIndex < XMin then
            XMin := XIndex;
          if YIndex < YMin then
            YMin := YIndex;
          if XIndex > XMax then
            XMax := XIndex;
          if YIndex > YMax then
            YMax := YIndex;
        end;
  PaintBox1.Canvas.Brush.Style := bsClear;
  PaintBox1.Canvas.Pen.Color := clBlue;
  PaintBox1.Canvas.Rectangle(XMin - 1, YMin - 1, XMax + 2, YMax + 2);
end;
As said before: Canvas.Pixels is quite slow, ScanLine is much faster, but you have to do some work yourself ;)

haentschman 19. Feb 2012 14:14

AW: Größe in TImage
 
@DeddyH: Er hat den Ausschnitt, weiß nur nicht wie er ihn rauskriegt und in eine Datei ablegt... denke ich mal 8-)

DeddyH 19. Feb 2012 14:16

AW: Größe in TImage
 
Dann lies #8 nochmal genau durch ;)

haentschman 19. Feb 2012 14:19

AW: Größe in TImage
 
ok... ich habe das "once" überlesen :oops: Aber mit beiden kann er was anfangen...

danten 19. Feb 2012 15:08

AW: Größe in TImage
 
I'm sorry, but I do not understand.
Where can I get the position Min_Top, Max_Top, Min_Left, Max_Left?

The presented examples only draws me around the entire frame Paintbox and nothing else.

We could use a Record?

DeddyH 19. Feb 2012 15:13

AW: Größe in TImage
 
Your Min_Top is my YMin and so on. Maybe the comparison in my example does not fit, you should check this.

danten 19. Feb 2012 15:38

AW: Größe in TImage
 
I love programming in Delphi and you are also friends.

The procedure was correct, but it wants to communicate with Paintbox, but only in the Image.

A special thank you "DeddyH"
:thumb:

DeddyH 19. Feb 2012 15:40

AW: Größe in TImage
 
No problem :)

haentschman 19. Feb 2012 15:52

AW: Größe in TImage
 
:thumb:
Please change your Delphi Version in your Profile...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 Uhr.
Seite 2 von 3     12 3      

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