On-line: гостей 3. Всего: 3 [подробнее..]
АвторСообщение
постоянный участник


Пост N: 690
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 03.05.17 08:55. Заголовок: Image


Непонятки с отображением Картинки на форме.
Есть одна и та же форма ( About) , которая кочует из программы в программу.
На форме выводится Картинка в формате jpg.
В одной программе картинка отображается на форме , в другой нет- пустое место.
Все строится в Ide.
Хотел пример приложить, но в примере, как назло, что ни делал, картинка ОТОБРАЖАЕТСЯ!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 15 [только новые]


постоянный участник




Пост N: 5363
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.05.17 13:33. Заголовок: Vlad04 пишет: В одн..


Vlad04 пишет:

 цитата:
В одной программе картинка отображается на форме , в другой нет- пустое место.


Значит при построение в другой программе картинка не попадает в ресурсы программы.
Посмотри внимательно имена картинки и наличие самой картинки в другой программе.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 691
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 03.05.17 14:30. Заголовок: Смотрю в редакторе ф..


Смотрю в редакторе файл Main.Res - картинка там, т.е. попала.
Почему не отображается - не ясно!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 692
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 03.05.17 14:33. Заголовок: Перевел jpg в bmp -..


Перевел jpg в bmp - появилась !

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6400
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.05.17 21:37. Заголовок: Vlad04 пишет: Перев..


Vlad04 пишет:

 цитата:
Перевел jpg в bmp - появилась !


Странно...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 283
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 04.05.17 14:51. Заголовок: Dima пишет: Странно..


Dima пишет:

 цитата:
Странно...


Скорее всего какая-то простенькая ошибка. Например в FW при работе с jpg надо под "рукой" иметь freeimage.dll, хотя явно она не вызывается :).


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6403
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.05.17 22:52. Заголовок: ММК пишет: Скорее в..


ММК пишет:

 цитата:
Скорее всего какая-то простенькая ошибка.


Тоже так подумал.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5647
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.17 09:24. Заголовок: Мы это уже обсуждали..


Мы это уже обсуждали, но возвращаюсь ещё раз к этому вопросу.

Сделал пример с картинкой. Сам пример - https://cloud.mail.ru/public/Bjh8/BA5cJhGyP



Картинка круглая (png). При выводе на форму, круг становиться загрызанным.
А можно ли как то избавиться от картинок загрызенных неизвестно кем ?
Если картинка квадратная, то всё хорошо.
Я делал раньше для круглых картинок цвет фона формы и убирал BACKGROUNDCOLOR aBackColor STRETCH TRANSPARENT.
Но это же не дело...

Можно ли как то на "лету" или в скрытом режиме - поменять фон у картинки, а потом выводить на форму ?

Или функцию работы с PNG прикрутить для вывода на форму с заданием цвета вывода ?



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 748
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 22.12.17 11:34. Заголовок: круг становиться заг..



 цитата:
круг становиться загрызанным


Я думал так задумано, картинка такая. Смотрится нормально

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5648
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.17 14:06. Заголовок: Vlad04 пишет: Я дум..


Vlad04 пишет:

 цитата:
Я думал так задумано, картинка такая. Смотрится нормально


Посмотри в этом проекте картинки в папке RES. И увидишь разницу с ресурсами и на форме !

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1216
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.12.17 14:53. Заголовок: Andrey пишет: убира..


Andrey пишет:

 цитата:
убирал BACKGROUNDCOLOR aBackColor STRETCH TRANSPARENT


Причина искажения картинки заключается в использовании класса STRETCH
Но без этого класса не будет работать присвоение новой картинки после выбора из меню

Решил эту проблему таким образом.

Определил элемент Image_1 без класса STRETCH

 цитата:
         @ 40, 20 IMAGE Image_1 PICTURE aImg[nI] WIDTH 64 HEIGHT 64 ; 
BACKGROUNDCOLOR aBackColor /*STRETCH*/ TRANSPARENT ;
OnMouseHover RC_CURSOR( "MINIGUI_FINGER" ) ;
ACTION {|| MyShowCntMenu( @nI, aMenu, aIcon ) ,;
SetImagePicture( aImg, nI, aMenu, aIcon, aBackColor ) }

и изменяю картинку в новой функции

 цитата:
STATIC FUNCTION SetImagePicture( aImg, nI, aMenu, aIcon, aBackColor ) 

IF nI <= Len(aImg)
Form_1.Image_1.Release

@ 40, 20 IMAGE Image_1 OF Form_1 PICTURE aImg[nI] ;
WIDTH 64 HEIGHT 64 ;
BACKGROUNDCOLOR aBackColor TRANSPARENT ;
OnMouseHover RC_CURSOR( "MINIGUI_FINGER" ) ;
ACTION {|| MyShowCntMenu( @nI, aMenu, aIcon ) ,;
SetImagePicture( aImg, nI, aMenu, aIcon, aBackColor ) }
ENDIF

RETURN Nil


Теперь картинка отображается без искажений

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5649
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.17 17:00. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Теперь картинка отображается без искажений


Идея понятна ! Спасибо !
Теперь нужно переделать, чтобы в STATIC FUNCTION SetImagePicture() не было ничего лишнего.
Т.е. внести автоопределение координат и т.д.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5650
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.17 17:14. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Причина искажения картинки заключается в использовании класса STRETCH



А без него PNG картинка на сером фоне даёт белый фон. И получается не круг, а квадрат.
Вот я и задавал вопрос, можно ли сделать функцию для смены фона у PNG картинки в заданный цвет ?
Т.е. определить aBackColor := Form_1.BackColor и передать его в эту функцию, а потом выводить на форму.
Или сделать как то по другому.

Может можно переписать эту одну функцию для класса STRETCH и не будет обгрызенные картинки ?


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1217
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.12.17 22:27. Заголовок: Andrey пишет: сдел..


Andrey пишет:

 цитата:
сделать как то по другому


Вот именно
Пересохранил эти PNG картинки с опцией "Сохранять прозрачность как альфа-канал"
и теперь картинки отображаются без искажений

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5651
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.12.17 12:24. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Пересохранил эти PNG картинки с опцией "Сохранять прозрачность как альфа-канал"



А ларчик просто открывался...
Картинки брал с https://www.iconfinder.com
Думал что там нормально созданы. Оказывается нужно проверять.

А чем пере сохранял картинки ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1218
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.12.17 13:56. Заголовок: Andrey пишет: чем п..


Andrey пишет:

 цитата:
чем пере сохранял картинки ?


IrfanView 4.50

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 388
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет