[Gelöst] TBitmap.Create existiert nicht?

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
ConcAPPtLab
Beiträge: 89
Registriert: Fr 18. Apr 2014, 18:57

[Gelöst] TBitmap.Create existiert nicht?

Beitrag von ConcAPPtLab »

Hallo Community,

ich bin gerade dabei mit Hilfe von Scanline ein Image abzudunkeln.

Doch aus mir unerfindlichen Gründen habe ich das Problem, dass ich keine Bitmaps erzeugen knn :O

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var x, y, byte: integer;
    blend: real=0.8;
    p: ^TPixArray;
    byteCol: TByteColor;
    bit: TBitmap;
begin
  Image1.Picture.LoadFromFile('pics/offers/album.jpg');
  bit:=TBitmap.Create;
  bit.SetSize(Image1.Width, Image1.Height);
  bit.PixelFormat:=pf24Bit;
//weiterer Code
end;


Dieser Code bricht schon bei der Kompilierung mit dem Hinweis 'identifier idents no member "Create" ab. Ein Check der Befehlvorschläge hat mir gezeigt, das anscheinend keine sonst bekannten properties, functions und procedures für dieses Bitmap vorliegen (z.B. Create, SetSize, Width, Height, Canvas). Was mache ich falsch??? Bin gerade echt am Verzweifeln!

Hofe ihr könnt helfen, Grüße
ConcAPPtLab
Zuletzt geändert von ConcAPPtLab am Do 22. Okt 2015, 19:18, insgesamt 1-mal geändert.
Definition "Strategische Fehlerkorrektur":
Solange rumprobieren bisses klappt :D

Mathias
Beiträge: 6204
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TBitmap.Create existiert nicht?

Beitrag von Mathias »

Dieser Code bricht schon bei der Kompilierung mit dem Hinweis 'identifier idents no member "Create" ab.

Was hat du für Units eingebunden, vielleicht überschneidet dort ein TBitmap.

Dieser Minimal-Code kompiliert er mir ohne Probleme:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  bit: TBitmap;
begin
  bit := TBitmap.Create;
  bit.SetSize(123, 123);
  bit.PixelFormat := pf24Bit;
  bit.Free;
end;


PS: so wie es aussieht, ist es die Unit Windows, sobald ich diese reim schreibe ist bei mir auch fertig, Setzt Windows an den Anfang.

Code: Alles auswählen

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, Windows;   // Falsch
uses
  Windows, Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;   // Richtig
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

ConcAPPtLab
Beiträge: 89
Registriert: Fr 18. Apr 2014, 18:57

Re: TBitmap.Create existiert nicht?

Beitrag von ConcAPPtLab »

Die Idee mit den Units kam mir auchs chon (ich dachte ich hätte Graphic vergessen).

Aber vielleicht stimmt ja echt etwas nicht.

Code: Alles auswählen

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls, ComCtrls, LCLIntf, IniFiles, Windows, Unit2, Unit3, Unit4;


Grüße
Definition "Strategische Fehlerkorrektur":
Solange rumprobieren bisses klappt :D

Mathias
Beiträge: 6204
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TBitmap.Create existiert nicht?

Beitrag von Mathias »

Gucke mein Edit an, da habe ich noch eine PS:.

Wen möglich würde ich immer auf uses Windows verzichten.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

ConcAPPtLab
Beiträge: 89
Registriert: Fr 18. Apr 2014, 18:57

Re: TBitmap.Create existiert nicht?

Beitrag von ConcAPPtLab »

Cool, danke, das wars :)
Wusste nicht, dass Windows Bitmaps beeinflusst ^^ Man lernt nie aus
Definition "Strategische Fehlerkorrektur":
Solange rumprobieren bisses klappt :D

Mathias
Beiträge: 6204
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [Gelöst] TBitmap.Create existiert nicht?

Beitrag von Mathias »

Für was brauchst du die Unit Windows, brauchst du eine spezielle Funktion davon ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten