AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi anzahl pixel bei image1.strech:= true
Thema durchsuchen
Ansicht
Themen-Optionen

anzahl pixel bei image1.strech:= true

Ein Thema von iaby · begonnen am 23. Aug 2003 · letzter Beitrag vom 29. Aug 2003
Antwort Antwort
Seite 2 von 2     12   
iaby

Registriert seit: 30. Nov 2002
Ort: BW
258 Beiträge
 
#11

Re: anzahl pixel bei image1.strech:= true

  Alt 28. Aug 2003, 10:21
also die property strechdraw hab ich nicht gefunden.
und die englische hilfe zu onPaint hab ich nicht kapiert(was ich wahrscheinlich auch auf deutsch nicht gemacht hätte)
könnte ich das noch mal genauer haben, bitte?

gruss,
iaby
  Mit Zitat antworten Zitat
Gandalfus

Registriert seit: 19. Apr 2003
407 Beiträge
 
Delphi 2006 Professional
 
#12

Re: anzahl pixel bei image1.strech:= true

  Alt 28. Aug 2003, 13:12
Delphi-Quellcode:
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  PaintBox1.Canvas.StretchDraw(PaintBox1.ClientRect,Image1.Picture.Graphic);
end;
Wo ist das Problem?

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
iaby

Registriert seit: 30. Nov 2002
Ort: BW
258 Beiträge
 
#13

Re: anzahl pixel bei image1.strech:= true

  Alt 28. Aug 2003, 13:48
ich zeichne aber selbst auf die paintbox, und lade nicht nur ein image!
die paintbox stellt bei mir einen fortschrittsbalken dar. wenn ich nun gerade eine zeit lang nicht drauf zeichne und die paintbox mit etwas anderem überdecke, dann wir ihr inhalt wieder weiß. würde ich das auf ein image zeichnen, hätte ich dieses problem nicht.

gruss,
iaby
  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
 
#14

Re: anzahl pixel bei image1.strech:= true

  Alt 29. Aug 2003, 10:21
@Gandalfus: Ich hab das irgendwie falsch verstanden.

Ich habe es so verstanden, dass er ein Bild auf dem Image hat, und er aus das Selbe Image eine Linie zeichnen will.
  Mit Zitat antworten Zitat
Gandalfus

Registriert seit: 19. Apr 2003
407 Beiträge
 
Delphi 2006 Professional
 
#15

Re: anzahl pixel bei image1.strech:= true

  Alt 29. Aug 2003, 14:23
Du benutzt ein TBitmap als zwischen speicher. Dadurch kann es auch nicht flimmern.

Delphi-Quellcode:
var
  Backbild: TBitmap;

//dürfte klar sein
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  PaintBox1.Canvas.Draw(0,0,backbild);
end;

//Bitmap initializeren und bild aus Imag11 auf das Bitmap kopieren
procedure TForm1.FormCreate(Sender: TObject);
begin
  Backbild := TBitmap.Create;
  Backbild.Width := PaintBox1.Width;
  Backbild.Height := PaintBox1.Height;
  Backbild.Canvas.StretchDraw(Rect(0,0,Backbild.Width,Backbild.Height),Image1.Picture.Graphic);
end;

//beim beenden freigeben
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Backbild.Free;
end;

//hier ein Beispiel zum linien zeichnen
procedure TForm1.Button1Click(Sender: TObject);
begin
  Backbild.Canvas.Pen.Color := clred;
  Backbild.Canvas.MoveTo(1,1);
  Backbild.Canvas.lineto(25,25);
  PaintBox1.Canvas.Draw(0,0,backbild);
end;
Ich schreib hier ja bald dein ganzes Programm...

@Maze: Ich will da jetzt nicht draufrumhacken aber deine Lösung ist nicht gerade ideal.(meine ist sicher auch nicht perfekt)
  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
 
#16

Re: anzahl pixel bei image1.strech:= true

  Alt 29. Aug 2003, 14:29
@Gandalfus: Meines ist gar keine Lösung!!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#17

Re: anzahl pixel bei image1.strech:= true

  Alt 29. Aug 2003, 14:39
Hallo Gandalfus,
die Methode mit der Bitmap als Zwischenspeicher ist sogar ziemlich gut.
Wenn Du jetzt eine BitBlt API-Funktionen und nicht Canvas.Draw nehmen würdest, wäre die Lösung soage ziemlich ziemlich gut.
Die BitBlt sind erheblich schneller

Ach ja. Im OnPaint Event der PaintBox solltest ebenfalls die Bitmap zeichnen lassen.
  Mit Zitat antworten Zitat
Gandalfus

Registriert seit: 19. Apr 2003
407 Beiträge
 
Delphi 2006 Professional
 
#18

Re: anzahl pixel bei image1.strech:= true

  Alt 29. Aug 2003, 15:35
Zitat von Jens Schumann:
Hallo Gandalfus,
die Methode mit der Bitmap als Zwischenspeicher ist sogar ziemlich gut.
Wenn Du jetzt eine BitBlt API-Funktionen und nicht Canvas.Draw nehmen würdest, wäre die Lösung soage ziemlich ziemlich gut.
Die BitBlt sind erheblich schneller
Ich hab bewusst draw genommen ist für Anfänger leichter.

BitBlt(Painbox1.canvas.handle, 0, 0, backbild.witdh, backbild.height, backbild.Canvas.Handle, 0, 0, srccopy); als Alternative zu draw.

Zitat:
Ach ja. Im OnPaint Event der PaintBox solltest ebenfalls die Bitmap zeichnen lassen.
Hab ich doch
  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:36 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