Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Вниз

Grayscale > X-Scale   Найти похожие ветки 

 
X-Disa   (2004-10-10 11:52) [0]

Всем привет! У меня есть grayscale изображение. И есть цвет (например clred). Задача такая: Из Grayscale сделать redscale и т.д. Чтоб черный цвет в данном случае заменился на красный, а остальные - на его оттенки. Белый так и должен остаться белым.


 
Fenik   (2004-10-10 12:05) [1]

Дам тебе заготовку.
С алгоритмом самостоятельно разбирайся.

type
 TRGB = record
   B, G, R: Byte;
 end;
 pRGB = ^TRGB;

procedure Proc(Bitmap: TBitmap);
var Dest: pRGB;
   X, Y: Word;
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
       B := // синий
       G := // зеленый
       R := // красный
     end;
     Inc(Dest);
   end;
 end;
end;


Например, инверсия:

procedure InvertBitmap(Bitmap: TBitmap);
var x, y: Integer;
   Dest: pRGB;
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
       R := 255 - R;
       G := 255 - G;
       B := 255 - B;
     end;
     Inc(Dest);
   end;
 end;
end;


 
X-Disa   (2004-10-10 13:02) [2]

Спасибо конечно, но эти алгоритмы я уже давно знаю... Мне б найти сам алгоритм преобразования. Я один наисал, но он не совсем так как надо работает.


 
Mihey_temporary ©   (2004-10-10 13:43) [3]

http://delphibase.endimus.ru


 
Fenik   (2004-10-10 14:54) [4]

> X-Disa  (10.10.04 13:02) [2]
> Мне б найти сам алгоритм преобразования.


Ты думаешь, такой существует?



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
14-1103690463
КаПиБаРа
2004-12-22 07:41
2005.01.16
Об информации


3-1103121638
Aser
2004-12-15 17:40
2005.01.16
Подскажите, как мне выполнить множество SQL-запросов?


1-1104294010
msgipss
2004-12-29 07:20
2005.01.16
Создать несколько сервисов из одного


1-1104470265
r.o.o.t
2004-12-31 08:17
2005.01.16
Как ускорить загрузку приложений


1-1104518771
Cheguevara
2004-12-31 21:46
2005.01.16
Как создать в листбоксе итем содержащий путь к файлу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский