![]() |
'leeres' Bitmap erstellen?
Hallo,
Ich habe ein Image (Image1) erstellt und möchte nun ein Bild "reinzeichnen", beispielsweise einen Farbverlauf
Delphi-Quellcode:
Das Problem:
procedure TForm1.Bild_zeichnen;
type PixArray = Array [1..3] of Byte; var p: ^PixArray; h,w: Integer; bit: TBitmap; begin bit := image2.Picture.Bitmap; //Was muss hier stehen??? bit.Height := 100; bit.Width := 100; image1.Width := 100; image1.Height := 100; for h:=0 to Bit.Height-1 do begin p:= Bit.ScanLine[h]; for w:=0 to Bit.Width-1 do begin p^[3]:=255; // p^[2]:=w; // Beispiel: Farbverlauf von rot nach gelb p^[1]:=0; // Inc(p); end; end; image1.Picture.Bitmap := bit; end; Ich wusste nicht, was ich "bit" am Anfang zuweisen musste, deswegen habe ich ein neues Image (Image2) erstellt und 'bit' den (leeren?) Inhalt von Image2 zugewiesen... Wenn ich vorher ein Bild in das Image2 geladen habe funktioniert es, wenn nicht wird beim Image1 einfach alles weiß, kann mir jemand sagen warum und was ich dem Bitmap 'bit' am Anfang zuweisen muss?? Vielleicht stehe ich grad total auf dem Schlauch aber ich weiß einfach nicht weiter :?: Danke schon mal im Vorraus MFG leo |
Re: 'leeres' Bitmap erstellen?
Delphi-Quellcode:
Das ist ein 800*600Pixel großes leeres (weißes) Bitmap.
var Bit: TBitmap;
Bit := TBitmap.Create; Bit.Width := 800; Bit.Height:= 600; EDIT: Achso.. LEER ... Sag das doch *g* :mrgreen: Blawen unter mir hat Recht.. Hab da was falsch verstanden, bzw zu schnell gelesen und zu wenig verstanden :oops: Gruß Neutral General |
Re: 'leeres' Bitmap erstellen?
Ich habe grad kein Delphi zur Hand, darum kann ich nur mal raten:
Code:
bit := NIL;
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Open-Source" nach "Multimedia" verschoben.
Es handelt sich nicht um ein Open-Source-Programm. |
Re: 'leeres' Bitmap erstellen?
Zitat:
|
Re: 'leeres' Bitmap erstellen?
ok, danke schon mal aber es funktioniert leider noch nicht.
Ich habe beide Möglichkeiten ausprobiert bei
Delphi-Quellcode:
kommt eine diverse Fehlermeldung wenn ich Höhe und Breite des bitmaps setzen will und bei
bit := nil;
Delphi-Quellcode:
wird im Image wieder nur eine weiße Fläche ausgegeben ?!? :?
bit := TBitmap.create;
seltsam.. wenn einem noch was dazu einfällt wär ich dankbar |
Re: 'leeres' Bitmap erstellen?
Zitat:
Zitat:
Du kannst dann mit diversen Zeichenopperationen dann deine Grafik darauf erstellen. (Siehe [oh]Canvas, TBitmap[/oh])
Delphi-Quellcode:
;)
procedure TForm1.Bild_Zeichnen;
type PixArray = Array [1..3] of Byte; var p: ^PixArray; h,w: Integer; bit: TBitmap; begin bit := TBitmap.Create; bit.PixelFormat := pf24Bit; bit.Height := 100; bit.Width := 100; for h := 0 to Bit.Height - 1 do begin p := Bit.ScanLine[h]; for w := 0 to Bit.Width - 1 do begin p^[3]:=255; // p^[2]:=w; // Beispiel: Farbverlauf von rot nach gelb p^[1]:=0; // Inc(p); end; end; Image1.Picture.Bitmap.Assign(bit); end; |
Re: 'leeres' Bitmap erstellen?
Vielen Dank, das PixelFormat hat mir noch gefehlt... :oops:
geht jetzt :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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