-
Тут такой вопрос. Есть Сканер canon 8800F. Написал программку для сканирования. Но мне нужно чтобы сканировалось с оттенками серого и с разрешение 200. Как в delhi можно указать эти парамметры?
-
Или есть другое решение
-
> orenyastreb (01.10.09 15:22) [1] > > Или есть другое решение
Если не можешь заставить сканер сканировать с нужными тебе параметрами (собственно может сканер и не позволяет) то преобразовывай картинку после сканирования в нужный тебе формат.
-
Чето я сразу не подумал. Действительно
-
Вот что получилось
function RgbToGray(RGBColor: TColor): TColor; var Gray: byte; begin Gray := Round((0.30 * GetRValue(RGBColor)) + (0.59 * GetGValue(RGBColor)) + (0.11 * GetBValue(RGBColor ))); Result := RGB(Gray, Gray, Gray); end;
procedure TForm1.Button1Click(Sender: TObject); var h, w: integer; begin for w := 0 to Image1.Width-1 do for h := 0 to Image1.Height-1 do Image2.Canvas.Pixels[w, h] := RgbToGray(Image2.Canvas.Pixels[w, h]); end;
-
> orenyastreb (02.10.09 11:27) [4]
> for w := 0 to Image1.Width-1 do > for h := 0 to Image1.Height-1 do > Image2.Canvas.Pixels[w, h] := > RgbToGray(Image2.Canvas.Pixels[w, h]);
Ну и как скорость такого метода преобразования? Не впечатляет правда? Почитай про Scanline.
-
Конечно метод медленный, но не доставляет проблемм.
> Почитай про Scanline. Неплохая вещь ))
|