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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2009, 11:57   #1
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
Вопрос Transparent color image если формат jpeg или jpg

Здравствуйте ув. программисты.
Прошу сильно не пинать за такой вопрос, но..
Скажите пожалуйста, почему transparent у компонента image работает во всех форматах картинки кроме jpeg и jpg?
Как сделать transparent у данного формата?
(image1.picture.bitmap.transparentc olor:=$000000 не помогает)

Заранее спасибо
[Ferox]
postal2 вне форума Ответить с цитированием
Старый 02.07.2009, 12:28   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

У Image есть свойство transparent. Если оно true - то он (Image) уберет все пиксели с цветом как у самого левого верхнего. Если цвет отличается, то естественно ничего не уберет.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 02.07.2009, 12:39   #3
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

Так тож не работает. для любых форматов - да, для jpeg - нет.
[Ferox]
postal2 вне форума Ответить с цитированием
Старый 02.07.2009, 12:49   #4
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Действительно Transparent не работает у jpeg.
Я попытался преобразовать jpeg в bmp, прозрачность появилась, но частично.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  img: TJPEGImage;
  bmp: TBitmap;
begin
  img := TJPEGImage.Create;
  img.LoadFromFile('image.jpg');
  bmp := TBitmap.Create;
  bmp.Assign(img);

  Image1.Picture.Bitmap.Assign(bmp);
  Image1.Transparent := true;
end;
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Старый 02.07.2009, 13:16   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
прозрачность появилась, но частично
Вот об этом я и говорил, т.е. цвет левого верхнего пикселя $000000, а какого-нибудь $000001, так вот визуально он черный, но ведь отличается от $000000. И поэтому частичная прозрачность. Попробуй в Фотошопе, например, увеличить картинку (2000%) и ты сразу увидишь о чем я говорю.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 02.07.2009, 14:47   #6
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

Спасибо огромное, так более менее получается то, что было задумано.

Тогда пара вопросов в тему
1. а нельзя задать диапазон - например от $000000 до $050505, например.

2. А если рисовать прямо на канве этого самого imag`a и пропускать пикселы, входящие в этот диапазон?
[Ferox]
postal2 вне форума Ответить с цитированием
Старый 02.07.2009, 15:01   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)нет
2)можно, но лучше перевести в Битмап, и все пиксели этого диапазона заменить нужным
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.07.2009, 12:14   #8
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

Короч лучше всего делать через png и не трогать уже этот jpg. На рисунке пример - сверху jpeg, снизу png, всё норм

Изображения
Тип файла: jpg Безымянный.jpg (40.5 Кб, 260 просмотров)
[Ferox]
postal2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертер из png в jpg или gif или bmp Квэнди Мультимедиа в Delphi 8 04.10.2011 22:26
как без ошибки загрузить jpeg в image beemoto Мультимедиа в Delphi 23 15.05.2009 01:16
Возможно ли сделать рабочий Transparent для Image, созданной на динамической форме2, для формы1. Лукманов Александр Мультимедиа в Delphi 3 27.04.2009 14:12
Нормальный Transparent в Image??? Fre5h Компоненты Delphi 1 10.07.2008 08:44
Image, загрузка JPEG Terran Мультимедиа в Delphi 4 19.12.2007 20:08