Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

Смена палитры в TGPImage --- GDI+   Найти похожие ветки 

 
Andy BitOff ©   (2006-12-27 03:33) [0]

Загружаю *.tif как поменять палитру на монохромную (256 цветов)?


 
Andy BitOff ©   (2007-01-03 20:33) [1]

Вот что получилось у меня:

procedure TForm1.ButtonClick(Sender: TObject);
var
 encoderClsid: TGUID;
 graphics: TGPGraphics;
 Image: TGPImage;
 ImageAttributes: TGPImageAttributes;
 width, height: Integer;
const
 colorMatrix : TColorMatrix  =
   ((0.3,  0.3,  0.3, 0.0, 0.0),
    (0.59,  0.59,  0.59, 0.0, 0.0),
    (0.11,  0.11,  0.11, 0.0, 0.0),
    (0.0,  0.0,  0.0, 1.0, 0.0),
    (0.0,  0.0,  0.0, 0.0, 1.0));
begin
 GetEncoderClsid("image/tiff", encoderClsid);
 Image := TGPImage.Create("1.tif");
 graphics := TGPGraphics.Create(Image);
 ImageAttributes := TGPImageAttributes.Create;
 try
   imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlagsDefault, ColorAdjustTypeBitmap);
   graphics.DrawImage(Image, MakeRect(0, 0, width, height),
                      0, 0, width, height,  UnitPixel, imageAttributes);
   image.Save("3.tif", encoderClsid);
 finally
   Image.Free;
   ImageAttributes.Free;
   graphics.Free;
 end;
end;

Но существует еще проблема. PixelFormat надо бы пивести к 8bits. Может кто знает?



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.025 c
2-1190303313
webpauk
2007-09-20 19:48
2007.10.14
Наследие


15-1190012820
Layner
2007-09-17 11:07
2007.10.14
Владельцы MS Vista! Запустите прогу Utils, отработает ли у вас


1-1185788550
Tack
2007-07-30 13:42
2007.10.14
В Delphi-программах курсор crHandPoint не виндовский?


6-1171481886
malyar
2007-02-14 22:38
2007.10.14
отправка http запросов post get head через сокет


3-1181206449
deras
2007-06-07 12:54
2007.10.14
Можно ли вызвать ХП из триггера и как передать ей параметры?