Форум: "Основная";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
ВнизКак из цветной картинки загруженной в Image сделать чёрно-белую? Найти похожие ветки
← →
Alexey Klimov (2003-08-19 17:44) [0]см.сабж
← →
Игорь Шевченко (2003-08-19 17:53) [1]Graphics.pas, CreateGrayMappedBmp
← →
Alexey Klimov (2003-08-19 18:59) [2]Или не то, или СКАЖИ КАК ПОЛЬЗОВАТЬСЯ!
← →
Palladin (2003-08-19 19:16) [3]А НЕ ПОСМОТРЕТЬ ЛИ ТЕБЕ В СПРАВОЧКУ?
← →
chyaynik (2003-08-19 19:56) [4]
Bitmap.Monohrome := true;
← →
Fenik (2003-08-19 21:44) [5]procedure Threshold(Bitmap: TBitmap; Value: Byte; Color1, Color2: TColor);
type TRGB = record
B, G, R: Byte;
end;
pRGB = ^TRGB;
function ColorToRGB(Color: TColor): TRGB;
begin
with Result do begin
R := Lo(Color);
G := Lo(Color shr 8);
B := Lo((Color shr 8) shr 8);
end;
end;
var x, y: Word;
C1, C2: TRGB;
Dest: pRGB;
begin
Bitmap.PixelFormat := pf24Bit;
C1 := ColorToRGB(Color1);
C2 := ColorToRGB(Color2);
for y := 0 to Bitmap.Height - 1 do begin
Dest := Bitmap.ScanLine[y];
for x := 0 to Bitmap.Width - 1 do begin
//если среднеарифметическое R, G и B больше Value,
//то точку (x, y) закрашиваем цветом Color1,
//иначе - цветом Color2
if (Dest^.r + Dest^.g + Dest^.b) / 3 > Value
then Dest^ := C1
else Dest^ := C2;
Inc(Dest);
end;
end;
end;
...
Threshold(FBitmap, 127, clWhite, clBlack);
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c