AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Verständnisfrage: TImage

Ein Thema von SearchBot · begonnen am 9. Sep 2012 · letzter Beitrag vom 17. Sep 2012
 
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
328 Beiträge
 
Delphi 12 Athens
 
#10

AW: Verständnisfrage: TImage

  Alt 9. Sep 2012, 21:55
Allerdings funktioniert das mit dem Zeichnen auf TImage.Picture.Bitmap.Canvas schon. Wichtig dabei ist aber ein vorheriges SetSize, um die Bitmap auch so groß zu machen, wie das Image.
Ja, das ist klasse. So mache ich da jetzt auch.
Derzeit bin ich aber an dem Problem daran, die Bitmap wieder zu leeren, um neue Informationen darauf darzustellen.

Im Forum fand ich den Hinweis, die Bitmap.width:=0 zu setzen; danach mache ich wieder setsize, aber das Bild von zuvor ist immernoch da
Irgendwie scheine ich nach links zu gucken und rechts zu pinseln...

Aktueller Stand:
Code:
procedure TForm2.FormShow(Sender: TObject);
var Can:TBitmap;

 function FRect(x,y,x2,y2:word):TRect;
 begin
   result.Left:=x;
   result.Right:=x2-x;
   result.Top:=y;
   result.Bottom:=y2-y;
 end;

begin
// panel1 ist ein TImage;
 with panel1 do begin
  Top:=0;
  Left:=0;
  Width:=screen.DesktopWidth;
  Height:=screen.DesktopHeight;
 end;
 Can:=panel1.Picture.Bitmap;
 
 Can.SetSize(0,0);           //Bild löschen geht so nicht
 Can.Width:=0; Can.Height:=0; //Bild löschen geht so auch nicht
 
 Can.SetSize(panel1.Width, panel1.Height);
 Can.Canvas.Brush.Color:=clBlack;
 Can.Canvas.FillRect(FRect(0,0,panel1.Width,panel1.Height));
end;
(aus einem bestimmten Grund nutze ich nicht panel1.align:=alClient !)

Und so male ich auf dem Bitmap:
Code:
procedure TForm2.FormClick(Sender: TObject);
var p:TPoint; can:TCanvas;
const size=10;

begin
  Can:=Panel1.Picture.Bitmap.Canvas;
  getCursorPos(p);
  p:=ScreentoClient(p);
  Can.Brush.Color := clRed;
  Can.Pen.Color := clBlack;
 with p do begin
  r.Left:=x-size; r.Top:=y-size;
  r.Bottom:=y+size; r.Right:=x+size;
  Can.Ellipse( r.left, r.Top,r.Right,r.Bottom);
 end;
end;
Was läuft falsch, wenn ich das dann nicht mehr aus dem BitMap weg bekomme?
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz