Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi löschen eines images (https://www.delphipraxis.net/15486-loeschen-eines-images.html)

Stanlay Hanks 29. Jan 2004 17:50

Re: löschen eines images
 
Zitat:

Zitat von Gregor00
ich kann zwar ein Rechteck zeichnen aber ich weiß nicht wie ich das mit einer farbe ausfülle. kann mir da noch jemand helfen??

Da sollte

Delphi-Quellcode:
Image1.Canvas.Brush.Color := clwhite; //Setzt die Füllfarbe auf weiß
weiterhelfen.

Man liest sich, Stanlay :hi:

Gregor00 29. Jan 2004 17:58

Re: löschen eines images
 
Hi stanlay: ha danke so funktioniert es. Also problem ist gelöst, ich schaff es jetzt das Image zu leeren

@Notam :und MikeS: ursprünglich waren (zumindest bei mir) nur die Linien zu löschen vorgesehen.
Aber
Delphi-Quellcode:
image1.picture:=nil;
hilft mir auch weiter. Werde ich warscheinlich auch noch in mein projekt einbauen...

also ich danke euch allen schon mal, dank euch funzt jeztz alles so wie ich es vorgesehen hab.

cu gregor

Kiaro 29. Jan 2004 18:04

Re: löschen eines images
 
Also bei mir liegt schon ein bild unter den Linien :)
Irgendwie verpennt :wall:

Naja, vielen Dank für eure Hilfe, so wie ich das jetzt verstanden funktioniert dass ja mit dem rechteck...

Grüße, Kiaro

Kiaro 1. Feb 2004 09:08

Re: löschen eines images
 
Hi nochmal!

Ich hab jetzt nochmal ewig rumprobiert, aber wenn er die Linien mit dem Rechtck überzeichnet überzeichnet er alles mit dem Rechteck...

Ich hab schon probiert das Bild vorm dem überzeichnen in eine TBitmap Variable zu speichern und hinterher von da aus wieder in die canvas.picture.bitmap Eigenschaft zu schreiben, aber das macht er auch nicht... :cry:

Kiaro

hboy 1. Feb 2004 10:15

Re: löschen eines images
 
du kannst bilder hin- und herkopieren mit

Delphi-Quellcode:
Bitmap.Canvas.CopyRect(const Dest: TRect; Canvas: TCanvas; const Source: TRect);
oder
Delphi-Quellcode:
BitBlt aus Windows, die eigentlich nur von deinem Canvas gewrappt wird
[edit=Luckie]Delphi-Tags gesetzt. Mfg, Luckie[/edit]

hboy 1. Feb 2004 10:21

Re: löschen eines images
 
achja wenn du nur
var
buffer: TBitmap;

hast und dann sagst buffer := Image1.Picture.Bitmap dann übergibst du nur deinen Zeiger auf das Bild. die Daten werden nicht dupliziert.
dazu musst du erst

Delphi-Quellcode:
  buffer := TBitmap.Create;
  buffer.pixelformat := image1.picture.bitmap.pixelformat;
  buffer.width := image1.picture.bitmap.width;
  buffer.height := image1.picture.bitmap.height;
  buffer.Canvas.CopyRect(bounds(0,0,buffer.width, buffer.height),image1.picture.bitmap.canvas,bounds(0,0,buffer.width, buffer.height)) ;
machen.

[edit=Luckie]Delphi-Tags gestezt. Mfg, Luckie[/edit]

Kiaro 1. Feb 2004 23:09

Re: löschen eines images
 
Hi nochmal!

Ich hab das so jetzt mal probiert, sieht bei mir jetzt folgendermaßen aus:

Delphi-Quellcode:
procedure TForm1.Raster1Click(Sender: TObject);
var pic:TBitmap;
begin
 try
  pic:=TBitmap.Create;
  pic.PixelFormat:=form1.Image1.Picture.Bitmap.PixelFormat;
  pic.Width:=form1.Image1.Picture.Bitmap.Width;
  pic.Height:=form1.Image1.Picture.Bitmap.Height;
  pic.Canvas.CopyRect(bounds(0,0,pic.width,pic.height),form1.image1.picture.bitmap.canvas,bounds(0,0,pic.width,pic.height));
     if raster1.Checked = false then begin
     rasterz;
     raster1.Checked:=true;
     form1.label2.visible:=true;
    end
  else begin
   raster1.checked:=false;
   form1.Label2.Visible:=false;
   form1.Image1.canvas.brush.color:=clTeal;
   form1.Image1.canvas.rectangle(0,0,form1.Image1.width,form1.Image1.Height);
   form1.Image1.Picture.Bitmap:=pic;
  end;
 finally pic.Free; end;
end;
rasterz macht nichts weiter als ein paar Linien auf das canvas zeichen.
Wenn ich jetzt raster.checked machen will (is n Punkt im Mainmenu) dann sagt er mir aber ungültiges Pixelformat, wenn er das Speichern des Bildes tun sollte...

weiß grad echt nich mehr weiter

Vielen Dank im Voraus, Kiaro

[edit=Luckie]Sind in diesem Thread die Delphi-Tags kaput? :roll: Mfg, Luckie[/edit]

hboy 3. Feb 2004 17:10

Re: löschen eines images
 
pixelformat setzen!

Delphi-Quellcode:
 pic:=TBitmap.Create;
  pic.PixelFormat:=form1.Image1.Picture.Bitmap.PixelFormat;
  pic.Width:=form1.Image1.Picture.Bitmap.Width;
  pic.Height:=form1.Image1.Picture.Bitmap.Height;
  pic.Pixelformat := pf24bit;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr.
Seite 2 von 2     12   

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