Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Вниз

Смена палитры в 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 вся ветка

Форум: "Media";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.051 c
2-1189666338
muhsin2281
2007-09-13 10:52
2007.10.14
rtl70.bpl vcl70.bpl не найден


15-1189670205
Галинка
2007-09-13 11:56
2007.10.14
Сортировка односвязных списков


2-1189951103
Ezorcist
2007-09-16 17:58
2007.10.14
Синхронная прокрутка двух TMemo


4-1176573654
Dmitry_177
2007-04-14 22:00
2007.10.14
SelectDirectory в центре экрана


15-1189680539
Synset
2007-09-13 14:48
2007.10.14
СГУ и ДПС





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский