Ved ikke hvorfor du ikke spørger mig over msn... Men det er simpelthen fordi at billedet "blinker" når man tegner hvis man ikke bruger TPaintBox...
Men hvis jeg ikke får et svar snart må jeg jo leve med det () og lukke tråden, for jeg kan egentligt ikke komme videre før jeg får et svar her
Du bruger TOpenPictureDialog til at finde filen med. Så bruger du f.eks. TBitmap til at loade den med.
TPicturebox har så vidt jeg husker en funktion på sin canvas der hedder Draw(Rect : TRect; Image : TGraphic).
Den kalder du på denne måde:
var
bmp : TBitmap;
begin
bmp := TBitmap.Create;
bmp.LoadFromFile(FFileName);
PictureBox1.Canvas.Draw(FDrawRect, bmp);
end;
Du skal så selvfølgelig finde dimensionerne på FDrawRect, samt have filnavnet lagt ind i FFileName, men det burde være en smal sag.
Endeligt skal du så lige huske på at TPaintBox kan ikke "huske" hvad du tegner på den, så du bør lave en buffer f.eks. i form af en TBitmap som rummer selve tegningen, og den ligger du så over i PaintBox1 i dennes OnPaint. Det er lidt besværligt men ikke specielt svært. Eksperimenter lidt med det.
I første omgang vil jeg så nok anbefale at du glemmer bufferen indtil det andet virker, så kan du begynde at rode med bufferen.
--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk
Jeg skal da prøve...
Vender tilbage om 10 min når jeg har testet det...
/Mads
nå... det tog så lidt længere tid, men jeg kan ikke få Draw metoden til at du. Det eneste der sker er, at den bliver helt grå..
Jeg kunne dog godt loade billedet ind i et TBitmap og derfra hente dets Width og Height ud, så jeg kunne sætte størrelsen på TPaintbox'en...
Håber du lige kan hjælpe mig med det her...
P.S. Draw metoden bliver kladt Draw(X: Integer; Y: Integer; Graphic: TGraphic)
/Mads