Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить яркость у картинки в TImage? [D7]


ИгорьЕ ©   (2007-05-15 02:52:00) 

Можно ли её изменть так, чтобы ничего не терялось, и потом при возвращении яркости обратно, картинка бы становилась такой же как и была?


Германн   (2007-05-20 02:57:00) [1]


> ИгроЕ   (20.05.07 02:47) [17]
>
>
> > Anatoly Podgoretsky ©   (19.05.07 11:36) [16]
> >
> > Разобраться, что такое яркость, контрастность и понять,
>
> > что у bmp/gif/jpeg этого нет, надо переводить в другой
> формат,
> >  у которого такие понятия есть.
> > Умножение RGB на константу не есть яркость.
>
>
> После первого сообщения ещё много чего написано.
>

И что ты из этого "многого" понял?


ИгроЕ   (2007-05-20 02:47:00) [2]


> Anatoly Podgoretsky ©   (19.05.07 11:36) [16]
>
> Разобраться, что такое яркость, контрастность и понять,
> что у bmp/gif/jpeg этого нет, надо переводить в другой формат,
>  у которого такие понятия есть.
> Умножение RGB на константу не есть яркость.


После первого сообщения ещё много чего написано.


Anatoly Podgoretsky   (2007-05-19 11:36:00) [3]

Разобраться, что такое яркость, контрастность и понять, что у bmp/gif/jpeg этого нет, надо переводить в другой формат, у которого такие понятия есть.
Умножение RGB на константу не есть яркость.


ИгроЕ   (2007-05-19 03:46:00) [4]


> Gydvin ©   (17.05.07 06:36) [14]
> Ну, бог в помощь

Тебе.

Никто так и не поможет?


Gydvin   (2007-05-17 06:36:00) [5]


>  Из-за чего расширение файла остаётся неизвестным.


> из TImage эту картинку достать, осветить, и обратно засунуть

Ну, бог в помощь


ИгроЕ   (2007-05-17 03:18:00) [6]


> JPeg1.LoadFromfile('MyJpegFile');

У меня не LoadFromfile, а LoadFromStream. Из-за чего расширение файла остаётся неизвестным.

И загрузка в TImage идёт отдельно в другом модули. А здесь нужно только из TImage эту картинку достать, осветить, и обратно засунуть.


Gydvin   (2007-05-16 14:52:00) [7]

очепятка

tibitmap = tbitmap;


Gydvin   (2007-05-16 14:51:00) [8]


> ИгорьЕ   (16.05.07 03:23) [4]
>
> Делаю:
>
>      JPeg1 := TJPegImage.Create;
>      try
>        JPeg1.LoadFromStream(aStream);
>        anImage.Picture.Bitmap.Assign(JPeg1);
>      finally
>        JPeg1.Free;
>      end;
>
>
> Картинка грузится. Но после этого anImage.Picture.Bitmap.
> Width равен нулю.
> И как получить из jpeg'а битмэп - непонятно.


А так
//global var
bitmap:tibitmap;

//form.create
bitmap:=tibitmap.create;

//form.close
bitmap.free

//open jpeg

____________________
var
 JPeg1 :TJPegImage;
begin
 JPeg1 := TJPegImage.Create;
    try
      JPeg1.LoadFromfile('MyJpegFile');
      Bitmap.Assign(JPeg1);
    finally
      JPeg1.Free;
    end;

end;
____________________

///Change_brightness
anImage.Picture.canvas:=MyCoolChangeBrightnessFunction(Bitmap,Change_index);


antonn   (2007-05-16 12:33:00) [9]

аа, я про тоже говорил:)


MegaVolt   (2007-05-16 12:30:00) [10]

>ничего не станет.

Правильно а вот если обратно уменьшить яркость то она уменьшится. Следовательно изначальный пиксель после увеличения и изменения изменится :(


antonn   (2007-05-16 12:26:00) [11]


> Ну был у тебя пиксель 255,255,255 что с ним станет после
> увеличения яркости?

ничего не станет. А вот если был 128,255,255 и увеличение на проценты, то после уменьшения можно обратно его не получить...


MegaVolt   (2007-05-16 12:17:00) [12]

>а если попиксельно приращивать rgb, а потом обратно на ту же дельту?

Ну был у тебя пиксель 255,255,255 что с ним станет после увеличения яркости?


clickmaker   (2007-05-16 10:55:00) [13]


> Нельзя картинке изменить яркость так чтобы при обратном
> изменении всё вернулось обратно

а если попиксельно приращивать rgb, а потом обратно на ту же дельту?


MegaVolt   (2007-05-16 10:49:00) [14]

Нельзя картинке изменить яркость так чтобы при обратном изменении всё вернулось обратно.
Придётя хранить оригинал отдельно.


ИгорьЕ   (2007-05-16 03:23:00) [15]

Делаю:

     JPeg1 := TJPegImage.Create;
     try
       JPeg1.LoadFromStream(aStream);
       anImage.Picture.Bitmap.Assign(JPeg1);
     finally
       JPeg1.Free;
     end;


Картинка грузится. Но после этого anImage.Picture.Bitmap.Width равен нулю.
И как получить из jpeg'а битмэп - непонятно.


Gydvin   (2007-05-15 08:28:00) [16]


> jpg, gif

TgifImage, TjpegImage to tbitmap


> Мне бы примерчик.


http://www.google.ru/search?hl=ru&newwindow=1&q=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C+%D1%8F%D1%80%D0%BA%D0%BE%D1%81%D1%82%D1%8C+Bitmap+Delphi&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=


ИгроЕ   (2007-05-15 07:33:00) [17]

А где там исходник картинки то?
В TImage можно же разные картинки загрузить. jpg, gif.
Непойму как у них менять яркость. Мне бы примерчик.


Gydvin   (2007-05-15 06:53:00) [18]

Наверное, исходник картинки, хранить в отдельном буфере


Наверх

Титульная страница Поиск, карта сайта Написать письмо