|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.10.2011, 19:53 | #1 |
Пользователь
Регистрация: 01.12.2009
Сообщений: 46
|
форма в виде картинки (делаю дизайн)
Доброго времени суток! Уважаемые Форумчане! Вот не выдержал решил обратится к вам за помощью, пиши простую программу для лабораторной работы, нужно что то оригинальное и поэтому решил сделать дизайн для программы... Суть проблемы такова:
Как я понял нужно сделать форму невидимой а компоненты тобишь картинку видимой. Какими только путями я это не делал но результат у моей картинки бывает обводка... Пробовал скрыть форму с помощью ТранспретКолор (делал и желтый и зеленый(пёстрые цвета чтоб на картинки остались нужные мне)) форма становилать невидимой а компоненты были видимы, нарисовал в фотошопе картинку PNG с прозрачным фоном так у меня появляется обводка моей картинки в программе тем цветом что я указал в ТрансперКолор'е даж BMP юзал та же беда позже решил сделать небольшой код Form1.Brush.Bitmap := Image1.Picture.Bitmap; nullClr := Image1.Picture.Bitmap.Canvas.Pixels[0, 0]; regn := CreateRectRgn(0, 0, Image1.Picture.Graphic.Width, Image1.Picture.Graphic.Height); for x := 1 to Image1.Picture.Graphic.Width do for y := 1 to Image1.Picture.Graphic.Height do if Image1.Picture.Bitmap.Canvas.Pixels[x - 1, y - 1] = nullClr then begin tmpRegn := CreateRectRgn(x - 1, y - 1, x, y); CombineRgn(regn, regn, tmpRegn, RGN_DIFF); DeleteObject(tmpRegn); end; SetWindowRgn(Form1.handle, regn, true); но результат тот же)) непонятная обводка, тут уже бывает обводка фона картинки ведь фон у неё не прозрачный... Подскажите что я делаю не так? |
06.10.2011, 01:25 | #2 |
Пользователь
Регистрация: 21.09.2011
Сообщений: 25
|
Color:= Image1.Canvas.Pixels[0,0];
TransparentColor:= True; TransparentColorValue:= Image1.Canvas.Pixels[0,0]; А если появляется обводка то значит цвет не Транспарент. Последний раз редактировалось gamer-25; 06.10.2011 в 01:29. |
06.10.2011, 09:12 | #3 | |
Пользователь
Регистрация: 01.12.2009
Сообщений: 46
|
Цитата:
обводка происходит в любом случае(( вот гляньте на исходники... |
|
06.10.2011, 18:01 | #4 |
Форумчанин
Регистрация: 23.08.2011
Сообщений: 171
|
На самом деле все очень просто... С такой проблемой я уже сталкивался, Есть моя тема "Стрельба Игрушка 2D" http://www.programmersforum.ru/showt...wpost&t=166895. Все дело в том, что какбы объяснить, увеличте свое изображение в фотошопе, ну побольше желательно, и увидете эту обводку, допустим если у вас Transpert=clWhite белый цвет, то delphi будет строго считать белый цвет допустим RGB 255 255 255, если 255 255 254, то Delphi считает что это не белый цвет, хотя визуально это белый. Вобщем, я решил проблему так: открыл в фотошопе увеличил и перекрасил нужные пиксели в ручную!
Каждый день узнаю новое...
Последний раз редактировалось Anton911; 06.10.2011 в 18:04. |
06.10.2011, 20:54 | #5 |
Пользователь
Регистрация: 01.12.2009
Сообщений: 46
|
хорошо =) допустим что я делаю в трансперт цвет 123 123 123 (ярко зеленый) такого на моей картнке нету =) то есть чтоб просто скрыть форму и вот тебе приветик, всёравно эта ярко зеленая обводка.
Делал дизайн исходя из готовой программы, вот оригинал к стати... |
07.10.2011, 07:39 | #6 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
123 123 123 это серый - к палитре не ходи )) ярко зеленый это 0 255 0
Думаю, Вашу проблему можно ещё решить посредством создания непрямоугольной формы, поищите на форуме темы подобного рода - принцип такой что создается Регион (rgn, как Вы до этого делали) и Вы в него впишите свою картинку (советую без Timage), и не надо будет бороться с прозрачностью. Ну а вообще, оратор выше всё правильно говорит - картинка на краях подразмазана и эта область не чисто белая - вот она и рисуется, если хотите не париться - выпилите эту обводку-размытие в фотошопе |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
форма в виде фонового рисунка на рабочем столе. | Yura_n | C++ Builder | 9 | 02.09.2011 10:10 |
вопрос про дизайн и картинки | kesha477 | HTML и CSS | 2 | 23.08.2011 11:20 |
Фрейм в виде png картинки | dmitriegorovih | Общие вопросы Delphi | 0 | 16.07.2010 20:42 |
Главная кнопочная форма в виде вкладок | hemo | Microsoft Office Access | 1 | 20.02.2009 11:55 |
Форма с несколькими таблицами в табличном виде. Как сделать? | Jenya | Microsoft Office Access | 1 | 15.11.2008 20:37 |