-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathRedeemerInheritablePNG.pas
42 lines (33 loc) · 1.03 KB
/
RedeemerInheritablePNG.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
unit RedeemerInheritablePNG;
interface
uses pngimage;
type TChunkIHDR2 = class(TChunkIHDR); // hole protected-Methode PrepareImageData
type PChunkIHDR2 = ^TChunkIHDR2;
type TRedeemerInheritablePNG = class(TPNGImage)
public
procedure InitBlankNonPaletteImage(const ColorType, BitDepth: Cardinal; const cx, cy: Integer);
end;
implementation
{ TRedeemerInheritablePNG }
procedure TRedeemerInheritablePNG.InitBlankNonPaletteImage(const ColorType,
BitDepth: Cardinal; const cx, cy: Integer);
var
PHDR: PChunkIHDR2;
NewIHDR: TChunk;
begin
// CreateBlank-Methode ohne Create, Überprüfung auf Richtigkeit der Parameter
// und ohne Unterstützung für Paletten
InitializeGamma;
BeingCreated := True;
Chunks.Add(TChunkIEND);
NewIHDR := Chunks.Add(TChunkIHDR);
PHDR := @NewIHDR; // fick dich, RTTI
PHDR^.ColorType := ColorType;
PHDR^.BitDepth := BitDepth;
PHDR^.Width := cx;
PHDR^.Height := cy;
PHDR^.PrepareImageData;
Chunks.Add(TChunkIDAT);
BeingCreated := False;
end;
end.