Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

Как заменить цвета прописанные в массиве   Найти похожие ветки 

 
Leeechhhh   (2005-03-18 10:13) [0]

у ня есть имэдж с картинкой, и массив с определёнными цветами, как мне зменить  на картинке только те цвета, которые прописанны в массиве??


 
Leeechhhh   (2005-03-18 10:27) [1]

на такую конструкцию при выполнение задачи выдаёт ошибку, хотя компилит нормально:
for x:=1 to image1.Picture.Width do
for y:=1 to image1.Picture.Height do
begin
if image1.Canvas.Pixels[x,y]=cls[x,y] then
begin
image1.Canvas.Pixels[x,y]:=cl;
end;
end;


cls[x,y]-массив с цветами
cl-цвет на который нужно заменить


 
WondeRu ©   (2005-03-18 11:32) [2]

размерности массивов проверь... и вообще какую ошибку выдает?


 
Leeechhhh   (2005-03-18 18:16) [3]

в общем почему выдавалась ошибка я понял, но почемуто всё равно не прокатывает то что я хочу.
А нет какогонибудь более простого способа заменить все нужные цвета на другой
например красный,желтый, и зелёный на синий?


 
Fenik   (2005-03-18 22:33) [4]

Например

Bmp.Transparent := True;

Bmp.TransparentColor := clRed;
Bmp2.Canvas.Draw(0, 0, Bmp);
Bmp.TransparentColor := clGreen;
Bmp2.Canvas.Draw(0, 0, Bmp);
Bmp.TransparentColor := clYellow;
Bmp2.Canvas.Draw(0, 0, Bmp);


Но быстрее будет пройтись по всем пикселям. Читай статью на этом сайте "Быстро поставить точку" (где-то на 5-й странице в статьях).



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

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.058 c
3-1117176187
MakNik
2005-05-27 10:43
2005.07.11
Пересечение промежутков дат


1-1118444356
gans_2
2005-06-11 02:59
2005.07.11
как запретить редактирование отдельной ячейки StringGrid


14-1118215525
Valera
2005-06-08 11:25
2005.07.11
Ошибка с архивом


1-1118752880
<Lelik>
2005-06-14 16:41
2005.07.11
Про потоки


1-1119595488
sb
2005-06-24 10:44
2005.07.11
Как запряч GPU параллельно с CPU в расчетной задаче