Автор | Сообщение |
|
| постоянный участник
|
Пост N: 690
Зарегистрирован: 13.10.05
|
|
Отправлено: 03.05.17 08:55. Заголовок: Image
Непонятки с отображением Картинки на форме. Есть одна и та же форма ( About) , которая кочует из программы в программу. На форме выводится Картинка в формате jpg. В одной программе картинка отображается на форме , в другой нет- пустое место. Все строится в Ide. Хотел пример приложить, но в примере, как назло, что ни делал, картинка ОТОБРАЖАЕТСЯ!
|
|
|
Ответов - 15
[только новые]
|
|
|
| постоянный участник
|
Пост N: 5363
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.05.17 13:33. Заголовок: Vlad04 пишет: В одн..
Vlad04 пишет: цитата: | В одной программе картинка отображается на форме , в другой нет- пустое место. |
| Значит при построение в другой программе картинка не попадает в ресурсы программы. Посмотри внимательно имена картинки и наличие самой картинки в другой программе.
|
|
|
|
| постоянный участник
|
Пост N: 691
Зарегистрирован: 13.10.05
|
|
Отправлено: 03.05.17 14:30. Заголовок: Смотрю в редакторе ф..
Смотрю в редакторе файл Main.Res - картинка там, т.е. попала. Почему не отображается - не ясно!
|
|
|
|
| постоянный участник
|
Пост N: 692
Зарегистрирован: 13.10.05
|
|
Отправлено: 03.05.17 14:33. Заголовок: Перевел jpg в bmp -..
Перевел jpg в bmp - появилась !
|
|
|
|
| |
Пост N: 6400
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.05.17 21:37. Заголовок: Vlad04 пишет: Перев..
Vlad04 пишет: цитата: | Перевел jpg в bmp - появилась ! |
| Странно...
|
|
|
|
| постоянный участник
|
Пост N: 283
Зарегистрирован: 29.05.10
|
|
Отправлено: 04.05.17 14:51. Заголовок: Dima пишет: Странно..
Dima пишет: Скорее всего какая-то простенькая ошибка. Например в FW при работе с jpg надо под "рукой" иметь freeimage.dll, хотя явно она не вызывается :).
|
|
|
|
| |
Пост N: 6403
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.05.17 22:52. Заголовок: ММК пишет: Скорее в..
ММК пишет: цитата: | Скорее всего какая-то простенькая ошибка. |
| Тоже так подумал.
|
|
|
|
| постоянный участник
|
Пост N: 5647
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.12.17 09:24. Заголовок: Мы это уже обсуждали..
Мы это уже обсуждали, но возвращаюсь ещё раз к этому вопросу. Сделал пример с картинкой. Сам пример - https://cloud.mail.ru/public/Bjh8/BA5cJhGyP Картинка круглая (png). При выводе на форму, круг становиться загрызанным. А можно ли как то избавиться от картинок загрызенных неизвестно кем ? Если картинка квадратная, то всё хорошо. Я делал раньше для круглых картинок цвет фона формы и убирал BACKGROUNDCOLOR aBackColor STRETCH TRANSPARENT. Но это же не дело... Можно ли как то на "лету" или в скрытом режиме - поменять фон у картинки, а потом выводить на форму ? Или функцию работы с PNG прикрутить для вывода на форму с заданием цвета вывода ?
|
|
|
|
| постоянный участник
|
Пост N: 748
Зарегистрирован: 13.10.05
|
|
Отправлено: 22.12.17 11:34. Заголовок: круг становиться заг..
цитата: | круг становиться загрызанным |
| Я думал так задумано, картинка такая. Смотрится нормально
|
|
|
|
| постоянный участник
|
Пост N: 5648
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.12.17 14:06. Заголовок: Vlad04 пишет: Я дум..
Vlad04 пишет: цитата: | Я думал так задумано, картинка такая. Смотрится нормально |
| Посмотри в этом проекте картинки в папке RES. И увидишь разницу с ресурсами и на форме !
|
|
|
|
| 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 |
| Теперь картинка отображается без искажений
|
|
|
|
| постоянный участник
|
Пост N: 5649
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.12.17 17:00. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Теперь картинка отображается без искажений |
| Идея понятна ! Спасибо ! Теперь нужно переделать, чтобы в STATIC FUNCTION SetImagePicture() не было ничего лишнего. Т.е. внести автоопределение координат и т.д.
|
|
|
|
|
| постоянный участник
|
Пост N: 5650
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.12.17 17:14. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Причина искажения картинки заключается в использовании класса STRETCH |
| А без него PNG картинка на сером фоне даёт белый фон. И получается не круг, а квадрат. Вот я и задавал вопрос, можно ли сделать функцию для смены фона у PNG картинки в заданный цвет ? Т.е. определить aBackColor := Form_1.BackColor и передать его в эту функцию, а потом выводить на форму. Или сделать как то по другому. Может можно переписать эту одну функцию для класса STRETCH и не будет обгрызенные картинки ?
|
|
|
|
| moderator
|
Пост N: 1217
Зарегистрирован: 11.02.10
|
|
Отправлено: 22.12.17 22:27. Заголовок: Andrey пишет: сдел..
Andrey пишет: цитата: | сделать как то по другому |
| Вот именно Пересохранил эти PNG картинки с опцией "Сохранять прозрачность как альфа-канал" и теперь картинки отображаются без искажений
|
|
|
|
| постоянный участник
|
Пост N: 5651
Зарегистрирован: 12.09.06
|
|
Отправлено: 23.12.17 12:24. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Пересохранил эти PNG картинки с опцией "Сохранять прозрачность как альфа-канал" |
| А ларчик просто открывался... Картинки брал с https://www.iconfinder.com Думал что там нормально созданы. Оказывается нужно проверять. А чем пере сохранял картинки ?
|
|
|
|
| moderator
|
Пост N: 1218
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.12.17 13:56. Заголовок: Andrey пишет: чем п..
Andrey пишет: цитата: | чем пере сохранял картинки ? |
| IrfanView 4.50
|
|
|
|