Как преобразовать цветное изображение в чёрно-белое? | Программирование на Delphi и не только

Реклама на сайте

Уроки по созданию сайтов.

Почитайте!

Нас читают

Статьи о программировании и не только

Mail.Ru

Rambler's Top100

Programming Blogs - BlogCatalog Blog Directory


Как преобразовать цветное изображение в чёрно-белое?

Delphi FAQ >> Графика

Данная функция на Delphi преобразовывает цветное изображение в черно-белое(оттенки серого):

function CreateGrayBmp (Source: TBitmap): TBitmap;
var
  Table: array[Byte] of TRGBQuad;
  I: Integer;
begin
  Result := TBitmap.Create;
  with Result do
  begin
    PixelFormat := pf8Bit;
    Width := Source.Width;
    Height := Source.Height;
    for I := Low(Table) to High(Table) do
      with Table[I] do
      begin
        rgbRed := I;
        rgbGreen := I;
        rgbBlue := I;
        rgbReserved := 0;
      end;
    if (SetDIBColorTable(Canvas.Handle, Low(Table), High(Table), Table) = 0) then
      RaiseLastWin32Error;
    Canvas.Draw(0, 0, Source);
  end;
end;


После того, как я уронил свой телефон в воду, я подумал что все - придется менять. Но оказалось, что его починили. И теперь, если мне понадобится ремонт сотовых телефонов, то я знаю куда обращаться.