Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
Delphi 6 Personal
|
Re: Image Problem???
16. Nov 2005, 10:31
Du kopierst von einer Paintbox in ein Image, soll das so herum sein ?
Code:
BitBlt([color=#ff0000]Ziehl.Canvas.Handle[/color], 0, 0, PaintBox1.Width div 2, PaintBox1.Height,
[color=#ff003f]Quelle.Canvas.Handle[/color], 0, 0, SrcCopy);
Ist das Bitmap in der Paintbox oder im Image und wohin soll es kopiert werden?
// Edit:
Ein Beispielcode:
Delphi-Quellcode:
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
// "Antiflacker" (für diesen Beispielcode nützlich - wegen dem Repaint)
{Form1.} DoubleBuffered := True;
// Groesse des 2. Images an Groesse von Bitmap in Image 1 anpassen
Image2.Width := Image1.Width;
Image2.Height := Image1.Height div 2;
// Alle "Aus"-LEDs zeichnen lassen
SetLEDs(Image1, Image2, 0);
end;
procedure TForm1.SetLEDs(QuellImage, ZiehlImage: TImage; LEDOn: Byte);
begin
// Alle "Aus"-LEDs zeichnen
BitBlt(
ZiehlImage.Canvas.Handle,
0,
0,
QuellImage.Width,
QuellImage.Height div 2,
QuellImage.Picture.Bitmap.Canvas.Handle,
1,
QuellImage.Height div 2,
SrcCopy);
if LEDOn > 0 then
begin
BitBlt(
ZiehlImage.Canvas.Handle,
0,
0,
(QuellImage.Width div 8) * LEDOn,
QuellImage.Height div 2,
QuellImage.Picture.Bitmap.Canvas.Handle,
0,
0,
SrcCopy);
end;
// Ziehl-Image neu zeichnen lassen
ZiehlImage.Repaint;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
// LEDs zeichnen wenn TrackBar1 geändert wird
SetLEDs(Image1, Image2, TrackBar1.Position);
end;
|
|
Zitat
|