AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

löschen eines images

Ein Thema von Kiaro · begonnen am 29. Jan 2004 · letzter Beitrag vom 3. Feb 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#11

Re: löschen eines images

  Alt 29. Jan 2004, 17:50
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

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

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Gregor00

Registriert seit: 18. Aug 2003
29 Beiträge
 
Delphi 5 Standard
 
#12

Re: löschen eines images

  Alt 29. Jan 2004, 17:58
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
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
  Mit Zitat antworten Zitat
Kiaro

Registriert seit: 21. Jan 2004
Ort: Korb (nähe Stuttgart)
25 Beiträge
 
Delphi 6 Personal
 
#13

Re: löschen eines images

  Alt 29. Jan 2004, 18:04
Also bei mir liegt schon ein bild unter den Linien
Irgendwie verpennt

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

Grüße, Kiaro
Mag ja sein, dass viele Delphi nicht mögen und lieber in C schreiben... egal *gg*
  Mit Zitat antworten Zitat
Kiaro

Registriert seit: 21. Jan 2004
Ort: Korb (nähe Stuttgart)
25 Beiträge
 
Delphi 6 Personal
 
#14

Re: löschen eines images

  Alt 1. Feb 2004, 09:08
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...

Kiaro
Mag ja sein, dass viele Delphi nicht mögen und lieber in C schreiben... egal *gg*
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#15

Re: löschen eines images

  Alt 1. Feb 2004, 10:15
du kannst bilder hin- und herkopieren mit

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

Registriert seit: 16. Jan 2004
364 Beiträge
 
#16

Re: löschen eines images

  Alt 1. Feb 2004, 10:21
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]
  Mit Zitat antworten Zitat
Kiaro

Registriert seit: 21. Jan 2004
Ort: Korb (nähe Stuttgart)
25 Beiträge
 
Delphi 6 Personal
 
#17

Re: löschen eines images

  Alt 1. Feb 2004, 23:09
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? Mfg, Luckie[/edit]
Mag ja sein, dass viele Delphi nicht mögen und lieber in C schreiben... egal *gg*
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#18

Re: löschen eines images

  Alt 3. Feb 2004, 17:10
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;
Power is nothing without TControl
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:09 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