Форум: "Media";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
ВнизКак сделать изображения чёрно-белым Найти похожие ветки
← →
Novenkij (2003-08-26 18:54) [0]Как перевести цветное изображение в чёрно-белое ( пример: PhotoShop - Hue/Saturation )
← →
miek (2003-08-26 20:05) [1]Например, рассчитать среднее от R,G,B и присвоить всем трем компонентам.
← →
Ilya_ (2003-08-27 04:58) [2]Поэксперементируй CopyMode с разными параметрами.
← →
HolACost! (2003-08-27 11:08) [3]
// Стырено, но не помню откуда
function pavRGBtoGray(AColor:TColor):TColor;
var
Gray: Byte;
begin
AColor := ColorToRGB(AColor);
Gray := Round(
0.30 * Byte(AColor) +
0.59 * Byte(AColor shr 8) +
0.11 * Byte(AColor shr 16)
);
Result := Gray or (Gray shl 8) or (Gray shl 16);
end;
← →
mrAld (2003-08-28 14:41) [4]А вот вопрос полюбопытнее: как перевести всё изображение с контекста устройства в Ч/Б Real Time Mode? А? Каков вопросец?
← →
MBo (2003-08-28 14:52) [5]>mrAld
В серое или двуцветное?
и то, и другое делается достаточно быстро
← →
mrAld (2003-08-28 15:54) [6]В серое или двуцветное?
Ну в двуцветное я и так могу, а в серое (с градациями)? И чтобы в реальном времени?
← →
HolACost! (2003-08-28 16:27) [7]Real Time OS нужна для начала! Гы!
← →
MBo (2003-08-28 17:49) [8]>чтобы в реальном времени?
1) определение реального времени?
2) что именно вызывает трудности?
← →
miek (2003-08-28 21:33) [9]1) Реальное время - это когда можно ТОЧНО задать максимальное время от наступления события до вызова процедуры, которая должна на него реагировать. Ни одна Маздайка под это определение не подпадает.
← →
MBo (2003-08-29 07:32) [10]>miek
Я подозреваю, что mrAld имел в виду скорость работы - допустим, обесцвечивание десятка контекстов размером в экран в секунду
← →
mrAld (2003-08-29 12:33) [11]Скажу понятнее:
Во время игры (3d в частности) менять цветное на ч/б и обратно.
← →
Fenik (2003-08-30 22:02) [12]Интересно, а как это обратно можно сделать?
← →
Fenik (2003-08-30 22:09) [13]procedure GrayBmp(Bitmap: TBitmap);
var n: Byte;
x, y: Integer;
Dest: pRGBTriple;
begin
Bitmap.PixelFormat := pf24Bit;
for y := 0 to Bitmap.Height - 1 do begin
Dest := Bitmap.ScanLine[y];
for x := 0 to Bitmap.Width - 1 do begin
with Dest^ do begin
n := Trunc((rgbtBlue + rgbtGreen + rgbtRed)/3);
rgbtBlue := n;
rgbtGreen := n;
rgbtRed := n;
end;
Inc(Dest);
end;
end;
end;
← →
Asteroid (2003-08-31 23:03) [14]> Fenik © (30.08.03 22:02) [12]
Обратно можно, если есть оригинал. Иначе - только под руководством оператора можно раскрасить ч/б в цвет.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c