![]() |
inkompatible typen TBitmap TImage
Hi,
was mache ich falsch???
Code:
Fehlermeldung :
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Bit: TImage; Beenden: TButton; Button1: TButton; procedure MakeRed(Bit: TBitmap); procedure BeendenClick(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.MakeRed(Bit: TBitmap); type PixArray = Array [1..3] of Byte; var p: ^PixArray; h,w: Integer; begin 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; Inc(p); end; end; end; procedure TForm1.BeendenClick(Sender: TObject); begin close; end; procedure TForm1.Button1Click(Sender: TObject); begin MakeRed(Bit: TBitmap); end; end. Inkompatible typen: 'TBitmap' 'TImage' Bin Delphi Anfänger, also seid gnädig ;-)) grüße |
Re: inkompatible typen TBitmap TImage
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin MakeRed(Bit.Picture.Bitmap); end; |
Re: inkompatible typen TBitmap TImage
ein typecast geht so: NeuerTyp(altesDingen)
|
Re: inkompatible typen TBitmap TImage
schöenen dank,...
die Fehlermeldung ist weg,... nur... die Pixel werden nicht rot eingefärbt, sprich, die procedure wird nich ausgeführt... :( :oops: |
Re: inkompatible typen TBitmap TImage
probier mal folgendes:
Delphi-Quellcode:
weis net obs daran liegt das das bitmap nochnicht existiert o.ä.
procedure TForm1.Button1Click(Sender: TObject);
begin bit.picture.bitmap := Tbitmap.create; MakeRed(Bit.Picture.Bitmap); end; |
Re: inkompatible typen TBitmap TImage
hm,... ich hab das bild vorher in die Form geladen...
jetz verschwindet es beim klick auf den Button :roll: |
Re: inkompatible typen TBitmap TImage
jo weil du es damit überschreibst mit einem neuen image..
Delphi-Quellcode:
wenn es so weiter geht muss ichs selber mal testen *g*
procedure TForm1.Button1Click(Sender: TObject);
begin bit.picture.bitmap := Tbitmap.create; bit.picture.bitmap.loadfromfile(filename und pfad der bmp datei); MakeRed(Bit.Picture.Bitmap); end; |
Re: inkompatible typen TBitmap TImage
Vielen vielen dank,
es funktioniert :mrgreen: grüße |
Re: inkompatible typen TBitmap TImage
wie bekomme ich es jetzt hin, dass ich über 3 radio buttons betimme, welchen der 3 Array werte ich ändern möchte... (Rot, Grün, Blau)
z.Zt ist es ja festgelegt auf 3
Code:
p^[3]:=255;
danke für die mühe :thumb: |
Re: inkompatible typen TBitmap TImage
einfacher gehts mit der combobox als ItemList eingestellt
da kann man dann nach dem index die farbe setzen
Delphi-Quellcode:
var
farbe: integer; als combobox: farbe := combobox1.itemindex; // 0 ist das erste item p^[farbe+1]:=255; oder als radio button: if RadioButton1.checked then farbe := 1; if RadioButton2.checked then farbe := 2; if RadioButton3.checked then farbe := 3; p^[farbe]:=255; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 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