Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2008, 01:04   #1
ALEX_RAS
 
Регистрация: 12.05.2008
Сообщений: 5
По умолчанию Как отменить изменения изображения?

Использую процедуру подсвечивания изображения.
Вот код:
Код:
//ПОДСВЕЧИВАНИЕ
procedure Highlight(aSource, ATarget: TBitmap; AColor: TColor);
var i, j: Integer;
   s, t: pRGBTriple;
   r, g, b: byte;
   cl: TColor;
 begin
   cl := ColorToRGB(AColor);
   r := GetRValue(cl);
   g := GetGValue(cl);
   b := GetBValue(cl);
   aSource.PixelFormat := pf24bit;
   ATarget.PixelFormat := pf24bit;
   ATarget.Width := aSource.Width;
   ATarget.Height := aSource.Height;
   for i := 0 to aSource.Height - 1 do 
   begin
     s := ASource.Scanline[i];
     t := ATarget.Scanline[i];
     for j := 0 to aSource.Width - 1 do
     begin
       t^.rgbtBlue := (b * s^.rgbtBlue) div 255;
       t^.rgbtGreen := (g * s^.rgbtGreen) div 255;
       t^.rgbtRed := (r * s^.rgbtRed) div 255;
       inc(s);
       inc(t);
     end;
   end;                                                         
 end;
Потом по нажатию по кнопке вызываю эту процедуру:
Код:
procedure TForm1.Button4Click(Sender: TObject);
var Bitmap: TBitmap;
 begin
Bitmap:=Image2.Picture.Bitmap;
Bitmap.PixelFormat := pf24Bit;
Highlight(Bitmap,Bitmap,ColorBox1.Selected);
Image2.Refresh;
 end;
КАК ЗАПОМНИТЬ ИЗОБРАЖЕНИЕ ДО ВЫЗОВА ЭТОЙ ПРОЦЕДУРЫ???(сделать отмену изменения изображения)

Пробывал занести изображение до изменения в переменную типа ТBitmap, но ни чего не получилось...
ПОМОГИТЕ ПОЖАЛУЙСТА!!!
ALEX_RAS вне форума Ответить с цитированием
Старый 20.05.2008, 08:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А зачем запоминать? НАсколько я из кода понял ты работаешь с копией, ее "подсвечиваешь" но на экране новосформированное изображение не отображается, так как ты это не прописал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
Найти изменения и обновить Radmir Microsoft Office Excel 4 28.02.2008 10:10
Изменения в настройках Иллидан Общие вопросы Delphi 3 19.01.2008 23:50
Изменения алгоритма delphi_beginner Общие вопросы Delphi 2 13.05.2007 21:27