Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизGrayscale (Черно-белое изображение) Найти похожие ветки
← →
sergey_61 (2007-06-14 22:23) [0]Доброго времени суток.
У TJPEGImage есть возможность отобразить рисунок в градациях срого. Надо сделать тоже самое для файла TBitmap. Делаю так:
var B: TBitmap;
J: TJPEGImage;
begin
B:=TBitmap.Create;
B.LoadFromFile(<Name>);
J:=TJPEGImage.Create;
try
J.Assign(B);
J.Grayscale:=True;
B.Assign(J); <---- в этой строке выскакивает ошибка AV
finally
J.Free;
end;
..............
B.Free;
end;
В чем может быть проблема? или может есть другой способ преобразование TBitmap"a в черно-белый (градации серого) режим.
Заранее благодарен!
← →
SergeyIT © (2007-06-15 00:52) [1]Вот кусочек из моей программы для ч/б картинок - пока никто не жаловался на AV (правда используется TImage и D5)
jp := TJpegImage.Create;
jp.LoadFromFile(fname);
Img.Picture.Bitmap.Assign(jp);
Img.Picture.Bitmap.PixelFormat := pf8bit;
jp.Free;
← →
PZ (2007-06-15 08:24) [2]Посмотрите
http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=50225
← →
Dimaxx © (2007-06-15 10:49) [3]
>J:=TJPEGImage.Create;
>...
>B.Assign(J); <---- в этой строке выскакивает ошибка AV
Еще бы она не выскакивала. Битмапу присваивается JPEG. Присваивай J.Bitmap или рисуй на битмапе из JPEG.
← →
{RASkov} © (2007-06-15 11:48) [4]var B: TBitmap;
J: TJPEGImage;
begin
B:=TBitmap.Create;
B.LoadFromFile(<Name>);
J:=TJPEGImage.Create;
try
J.Assign(B);
J.JPEGNeeded;
J.Grayscale:=True;
J.DIBNeeded;
B.Assign(J);
finally
J.Free;
end;
Canvas.Draw(0, 0, B);
B.Free;
end;
← →
Jeer © (2007-06-15 15:55) [5]Желательно так все же:
Стандаpт CCIR 601-1
Gray=(299*Red+587*Green+114*Blue)/1000.
Стандаpт CCIR 709:
Gray=(213*Red+715*Green+72*Blue/1000.
Стандаpт ITU:
Gray=(222*Red+707*Green+71*Blue)/1000.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c