Форум: "Media";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
Внизпалитра в bmp Найти похожие ветки
← →
>>DEATH<< (2006-12-20 05:10) [0]подскажите как поменять количество цветов в image1..надо цветную картинку перевести в чернобелую
← →
clickmaker © (2006-12-20 10:19) [1]PixelFormat
← →
>>DEATH<< (2006-12-20 12:05) [2]это где писать
← →
>>DEATH<< (2006-12-20 12:10) [3]это где писать
← →
Думкин © (2006-12-20 12:26) [4]Image1.Picture.Bitmap.PixelFormat := pf1bit;
← →
>>DEATH<< (2006-12-20 12:35) [5]чета все получилось черно синее
← →
Vovan #2 (2006-12-20 20:48) [6]>чета все получилось черно синее
Очень даже может быть. Надо установить чёрно-белую палитру. Тут есть пример:
http://www.efg2.com/Lab/ImageProcessing/pf1bit.htm
← →
Stexen © (2006-12-24 14:14) [7]Нужно именно два цвета: черный и белый? или обычная картинка с градациями серого???
Вообще говоря, в некоторых случаях бесполезно использовать изменение палитры. Есть фильтр называется он диффузия ошибки, если память мне не изменяет, хорошо подойдет для преобразование в два цвета.
← →
Дмитрий Белькевич © (2007-01-05 04:56) [8]Можешь отсюда дёрнуть палитру, и поменяй pixelformat на pf8bit, например.
function CreateBitmap: TBitmap; // Ýòà ôóíêöèÿ ñîçäàåò Bitmap ñ ïàëèòðîé 256 ãðàäàöèé ñåðîãî.
type
TRGBPalette = array[0..255] of
packed record
R, G, B, Reserved: byte;
end;
TBmpFile = packed record
Hd: TBitmapFileHeader;
Info: TBitmapInfoHeader;
Palette: TRGBPalette;
Data: array[0..255] of byte;
end;
var
f: TBmpFile;
i: word;
s: TMemoryStream;
bmp: TBitmap;
begin
{$IFDEF DEBUG_LOG}
CurrentModule.Add2("GrabThread.CreateBitmap");
{$ENDIF}
bmp := TBitmap.Create;
bmp.PixelFormat := pf8bit;
with f do
begin
Hd.bfType := $4D42;
Hd.bfSize := SizeOf(TBmpFile) div 4;
Hd.bfReserved1 := 0;
Hd.bfReserved2 := 0;
Hd.bfOffBits := SizeOf(TBitmapFileHeader) +
SizeOf(TBitmapInfoHeader) + SizeOf(TRGBPalette);
Info.biSize := SizeOf(TBitmapInfoHeader);
Info.biWidth := 16;
Info.biHeight := 16;
Info.biPlanes := 1;
Info.biBitCount := 8;
Info.biCompression := bi_RGB;
Info.biSizeImage := 256;
Info.biXPelsPerMeter := 0;
Info.biYPelsPerMeter := 0;
Info.biClrUsed := 0;
Info.biClrImportant := 0;
for i := 0 to 255 do
begin
Palette[i].R := i;
Palette[i].G := i;
Palette[i].B := i;
Data[i] := i;
end;
end;
s := TMemoryStream.Create;
try
s.SetSize(SizeOf(TBmpFile));
s.Write(f, SizeOf(TBmpFile));
s.Position := 0;
bmp.LoadFromStream(S);
finally
s.Free;
end;
result := bmp;
end;
← →
KOSS (2007-01-07 01:07) [9]оставь свой mail. есть готовый компонент,который отлино работает с image, для преобразования цветовой палитры.
← →
Vovan #2 (2007-01-07 02:48) [10]Ну начинается. Вопро секундный, а уже с компонентами решения предлагают.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c