Вниз
Скачать: CL | DM;

палитра в 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; // &#221;&#242;&#224; &#244;&#243;&#237;&#234;&#246;&#232;&#255; &#241;&#238;&#231;&#228;&#224;&#229;&#242; Bitmap &#241; &#239;&#224;&#235;&#232;&#242;&#240;&#238;&#233; 256 &#227;&#240;&#224;&#228;&#224;&#246;&#232;&#233; &#241;&#229;&#240;&#238;&#227;&#238;.
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
15-1190253868
Slider007
2007-09-20 06:04
2007.10.21
С днем рождения ! 20 сентября 2007 четверг


1-1186384261
ancot
2007-08-06 11:11
2007.10.21
Быстрый импорт из Excel


2-1191224656
Lexx1
2007-10-01 11:44
2007.10.21
.ini не создается(


15-1190615735
БарЛог
2007-09-24 10:35
2007.10.21
Проблема при установке Win 2003, XP...


15-1190126267
alex_ant
2007-09-18 18:37
2007.10.21
Автопроверка тестов модулей для D7




   Наверх