You've already forked lazarus-ccr
fixed loading, saving and copying as suggested by Jesus Reyes A.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@289 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<Package Version="2">
|
||||
<Package Version="3">
|
||||
<PathDelim Value="\"/>
|
||||
<Name Value="LazRGBGraphics"/>
|
||||
<Author Value="Tom Gregorovic (_tom_@centrum.cz)"/>
|
||||
@ -29,7 +29,7 @@
|
||||
"/>
|
||||
<License Value="Modified LGPL
|
||||
"/>
|
||||
<Version Minor="2"/>
|
||||
<Version Minor="2" Release="1"/>
|
||||
<Files Count="7">
|
||||
<Item1>
|
||||
<Filename Value="rgbgraphics.pas"/>
|
||||
@ -65,11 +65,11 @@
|
||||
</Files>
|
||||
<RequiredPkgs Count="2">
|
||||
<Item1>
|
||||
<PackageName Value="FCL"/>
|
||||
<MinVersion Major="1" Valid="True"/>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="LCL"/>
|
||||
<PackageName Value="FCL"/>
|
||||
<MinVersion Major="1" Valid="True"/>
|
||||
</Item2>
|
||||
</RequiredPkgs>
|
||||
<UsageOptions>
|
||||
|
@ -34,7 +34,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, LCLIntf,
|
||||
LCLType, LCLProc, FPImage, LResources, IntfGraphics,
|
||||
Graphics, Forms, Math, Clipbrd,
|
||||
GraphType, Graphics, Forms, Math, Clipbrd,
|
||||
RGBTypes, RGBRoutines, RGBUtils;
|
||||
|
||||
|
||||
@ -179,6 +179,8 @@ type
|
||||
private
|
||||
FCanvas: TRGB32Canvas;
|
||||
FMask: TRGBMask;
|
||||
protected
|
||||
function CreateDefaultLazIntfImage: TLazIntfImage;
|
||||
public
|
||||
constructor Create(AWidth, AHeight: Integer); override;
|
||||
constructor CreateAsCopy(ABitmap: TRGBBitmapCore); override;
|
||||
@ -239,6 +241,22 @@ end;
|
||||
|
||||
{ TRGB32Bitmap }
|
||||
|
||||
function TRGB32Bitmap.CreateDefaultLazIntfImage: TLazIntfImage;
|
||||
var
|
||||
RID: TRawImageDescription;
|
||||
DC: HDC;
|
||||
begin
|
||||
DC := GetDC(0);
|
||||
try
|
||||
RawImage_DescriptionFromDevice(DC, RID);
|
||||
finally
|
||||
ReleaseDC(0, DC);
|
||||
end;
|
||||
|
||||
Result := TLazIntfImage.Create(0, 0);
|
||||
Result.DataDescription := RID;
|
||||
end;
|
||||
|
||||
constructor TRGB32Bitmap.Create(AWidth, AHeight: Integer);
|
||||
begin
|
||||
inherited;
|
||||
@ -267,7 +285,7 @@ var
|
||||
Image: TLazIntfImage;
|
||||
Reader: TFPCustomImageReader;
|
||||
begin
|
||||
Image := TLazIntfImage.Create(0, 0);
|
||||
Image := CreateDefaultLazIntfImage;
|
||||
Reader := GetFPImageReaderForFileExtension(ExtractFileExt(FileName)).Create;
|
||||
try
|
||||
Image.LoadFromFile(FileName, Reader);
|
||||
@ -338,7 +356,7 @@ var
|
||||
Image: TLazIntfImage;
|
||||
Writer: TFPCustomImageWriter;
|
||||
begin
|
||||
Image := TLazIntfImage.Create(0, 0);
|
||||
Image := CreateDefaultLazIntfImage;
|
||||
Writer := AWriterClass.Create;
|
||||
try
|
||||
SaveToLazIntfImage(Image, ARect);
|
||||
@ -354,7 +372,7 @@ var
|
||||
Image: TLazIntfImage;
|
||||
Writer: TFPCustomImageWriter;
|
||||
begin
|
||||
Image := TLazIntfImage.Create(0, 0);
|
||||
Image := CreateDefaultLazIntfImage;
|
||||
Writer := GetFPImageWriterForFileExtension(ExtractFileExt(FileName)).Create;
|
||||
try
|
||||
inherited SaveToLazIntfImage(Image);
|
||||
@ -441,7 +459,7 @@ var
|
||||
begin
|
||||
PixmapStream := TMemoryStream.Create;
|
||||
BitmapStream := TMemoryStream.Create;
|
||||
Image := TLazIntfImage.Create(0, 0);
|
||||
Image := CreateDefaultLazIntfImage;
|
||||
PixmapWriter := TPixmap.GetDefaultFPWriter.Create;
|
||||
BitmapWriter := TBitmap.GetDefaultFPWriter.Create;
|
||||
try
|
||||
|
Reference in New Issue
Block a user