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:
parent
9c8ba59429
commit
7f599c8e95
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<CONFIG>
|
<CONFIG>
|
||||||
<Package Version="2">
|
<Package Version="3">
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Name Value="LazRGBGraphics"/>
|
<Name Value="LazRGBGraphics"/>
|
||||||
<Author Value="Tom Gregorovic (_tom_@centrum.cz)"/>
|
<Author Value="Tom Gregorovic (_tom_@centrum.cz)"/>
|
||||||
@ -29,7 +29,7 @@
|
|||||||
"/>
|
"/>
|
||||||
<License Value="Modified LGPL
|
<License Value="Modified LGPL
|
||||||
"/>
|
"/>
|
||||||
<Version Minor="2"/>
|
<Version Minor="2" Release="1"/>
|
||||||
<Files Count="7">
|
<Files Count="7">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Filename Value="rgbgraphics.pas"/>
|
<Filename Value="rgbgraphics.pas"/>
|
||||||
@ -65,11 +65,11 @@
|
|||||||
</Files>
|
</Files>
|
||||||
<RequiredPkgs Count="2">
|
<RequiredPkgs Count="2">
|
||||||
<Item1>
|
<Item1>
|
||||||
<PackageName Value="FCL"/>
|
<PackageName Value="LCL"/>
|
||||||
<MinVersion Major="1" Valid="True"/>
|
|
||||||
</Item1>
|
</Item1>
|
||||||
<Item2>
|
<Item2>
|
||||||
<PackageName Value="LCL"/>
|
<PackageName Value="FCL"/>
|
||||||
|
<MinVersion Major="1" Valid="True"/>
|
||||||
</Item2>
|
</Item2>
|
||||||
</RequiredPkgs>
|
</RequiredPkgs>
|
||||||
<UsageOptions>
|
<UsageOptions>
|
||||||
|
@ -34,7 +34,7 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils, LCLIntf,
|
Classes, SysUtils, LCLIntf,
|
||||||
LCLType, LCLProc, FPImage, LResources, IntfGraphics,
|
LCLType, LCLProc, FPImage, LResources, IntfGraphics,
|
||||||
Graphics, Forms, Math, Clipbrd,
|
GraphType, Graphics, Forms, Math, Clipbrd,
|
||||||
RGBTypes, RGBRoutines, RGBUtils;
|
RGBTypes, RGBRoutines, RGBUtils;
|
||||||
|
|
||||||
|
|
||||||
@ -179,6 +179,8 @@ type
|
|||||||
private
|
private
|
||||||
FCanvas: TRGB32Canvas;
|
FCanvas: TRGB32Canvas;
|
||||||
FMask: TRGBMask;
|
FMask: TRGBMask;
|
||||||
|
protected
|
||||||
|
function CreateDefaultLazIntfImage: TLazIntfImage;
|
||||||
public
|
public
|
||||||
constructor Create(AWidth, AHeight: Integer); override;
|
constructor Create(AWidth, AHeight: Integer); override;
|
||||||
constructor CreateAsCopy(ABitmap: TRGBBitmapCore); override;
|
constructor CreateAsCopy(ABitmap: TRGBBitmapCore); override;
|
||||||
@ -239,6 +241,22 @@ end;
|
|||||||
|
|
||||||
{ TRGB32Bitmap }
|
{ 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);
|
constructor TRGB32Bitmap.Create(AWidth, AHeight: Integer);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
@ -267,7 +285,7 @@ var
|
|||||||
Image: TLazIntfImage;
|
Image: TLazIntfImage;
|
||||||
Reader: TFPCustomImageReader;
|
Reader: TFPCustomImageReader;
|
||||||
begin
|
begin
|
||||||
Image := TLazIntfImage.Create(0, 0);
|
Image := CreateDefaultLazIntfImage;
|
||||||
Reader := GetFPImageReaderForFileExtension(ExtractFileExt(FileName)).Create;
|
Reader := GetFPImageReaderForFileExtension(ExtractFileExt(FileName)).Create;
|
||||||
try
|
try
|
||||||
Image.LoadFromFile(FileName, Reader);
|
Image.LoadFromFile(FileName, Reader);
|
||||||
@ -338,7 +356,7 @@ var
|
|||||||
Image: TLazIntfImage;
|
Image: TLazIntfImage;
|
||||||
Writer: TFPCustomImageWriter;
|
Writer: TFPCustomImageWriter;
|
||||||
begin
|
begin
|
||||||
Image := TLazIntfImage.Create(0, 0);
|
Image := CreateDefaultLazIntfImage;
|
||||||
Writer := AWriterClass.Create;
|
Writer := AWriterClass.Create;
|
||||||
try
|
try
|
||||||
SaveToLazIntfImage(Image, ARect);
|
SaveToLazIntfImage(Image, ARect);
|
||||||
@ -354,7 +372,7 @@ var
|
|||||||
Image: TLazIntfImage;
|
Image: TLazIntfImage;
|
||||||
Writer: TFPCustomImageWriter;
|
Writer: TFPCustomImageWriter;
|
||||||
begin
|
begin
|
||||||
Image := TLazIntfImage.Create(0, 0);
|
Image := CreateDefaultLazIntfImage;
|
||||||
Writer := GetFPImageWriterForFileExtension(ExtractFileExt(FileName)).Create;
|
Writer := GetFPImageWriterForFileExtension(ExtractFileExt(FileName)).Create;
|
||||||
try
|
try
|
||||||
inherited SaveToLazIntfImage(Image);
|
inherited SaveToLazIntfImage(Image);
|
||||||
@ -441,7 +459,7 @@ var
|
|||||||
begin
|
begin
|
||||||
PixmapStream := TMemoryStream.Create;
|
PixmapStream := TMemoryStream.Create;
|
||||||
BitmapStream := TMemoryStream.Create;
|
BitmapStream := TMemoryStream.Create;
|
||||||
Image := TLazIntfImage.Create(0, 0);
|
Image := CreateDefaultLazIntfImage;
|
||||||
PixmapWriter := TPixmap.GetDefaultFPWriter.Create;
|
PixmapWriter := TPixmap.GetDefaultFPWriter.Create;
|
||||||
BitmapWriter := TBitmap.GetDefaultFPWriter.Create;
|
BitmapWriter := TBitmap.GetDefaultFPWriter.Create;
|
||||||
try
|
try
|
||||||
|
Loading…
Reference in New Issue
Block a user