![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про наложение изображений на кнопке. [D7, XP]
vegarulez © (2010-02-17 12:01:00)Привет всем мастерам!
Вопрос в следующем - есть кнопка TPNGButton - хочу наложить одно изображение на другое(2 PNG файла). Одно с залитым фоном, другое с прозрачным. Как это сделать - подскажите?
vegarulez (2010-02-24 11:04:00) [1]Аха - смотрел его уже. Я так и понял что он тебе попался ) Я в примерах там в справке как раз и посмотрел - похожее обращение к компоненте, как ты писал выше. Ок. если будет время глянь - если не сложно.
{RASkov} (2010-02-24 10:27:00) [2]> [25] vegarulez (24.02.10 10:06)
> если не трудно посмотри
Извини, времени нет... если появится время возможно гляну.
Если не принципиально, найди pngimage156.zip в нем тот самый TPNGButton который мне попался, с ним и справка есть(англ), и немного примеров(в справке)
(Он в яндексе в первых рядах)
vegarulez (2010-02-24 10:06:00) [3]{RASkov} © (24.02.10 09:23) [24]
Ни в коем разе никого не хотел обидеть - спасибо большое за ответы. Но просто хочется по существу. Если я спрашиваю про PNG зачем советовать про имэйдж лист и БМП?
Тебе - большое спасибо - пытался сделать как ты советовал, потом понял что -то не получается, переработал немного свою версию через Timage - получилось, о чём писал выше.
Тот компонент который я пользую - выложу вот сюда - если не трудно посмотри (735 кб)
http://slil.ru/28696488
Просто я из вышепривёденного тобой примера, понимаю что у нас немного разные компоненты, которые пользуем.
Поэтому актуален вопрос как сделать без привлечения TImage...
{RASkov} (2010-02-24 09:23:00) [4]> [20] vegarulez (24.02.10 07:16)
> Ps - плз коменты по существу
Знаешь что, по существу... я уже скачал, установил один TPNGButton и даже пример тебе написал с его использованием.
Предлогаешь их все выкачать с помойки?
Залез на форум с нестандартным компонентом, прояви вежливость и терпение в ожидании ответа на твой вопрос...
А что бы быстрее отвечали будь подробнее и, опять же, вежлевее..
{RASkov} (2010-02-24 09:18:00) [5]> [22] vegarulez (24.02.10 09:12)
Приостынь, а то ведь закроют твою ветку.... или перестанут тебе отвечать...
vegarulez (2010-02-24 09:12:00) [6]KilkennyCat © (24.02.10 09:03) [21]
Ога... Да вы наверно петросян...
Если нечего по существу сказать зачем флудить. имхо.
KilkennyCat (2010-02-24 09:03:00) [7]
> не знаю по чему
наверное, по кнопке.
> по существу
изучение стороннего, неизвестного компонента.
vegarulez (2010-02-24 07:16:00) [8]Палин... ну прям полемика разразилась по существу вопроса...
На заметку - я вообще-то не спрашивал в теме как мне работать с бмп или с имэдж листом...
А теперь по существу вопроса:
2 {RASkov}
сделал 2 TPNGbutton`а, как ты посоветовал - залил туда рамку и рожу. И пытаюсь сделать - наложение (выделено жирным). Но он вообще ничего в этом случае не рисует... не знаю по чему. Сделал по другому через TImage на Button2Click- впринципе всё рабит. но млин охота понять, почему не пашет Button1Click??
procedure TForm1.Button1Click(Sender: TObject);
begin
PNGButton3.PictureDefault.Bitmap.Canvas.StretchDraw(PNGButton3.ClientRect,PNG Button1.PictureDefault.Graphic);
//PNGButton3.PictureDefault.Bitmap.Canvas.StretchDraw(PNGButton3.ClientRect,PNGBut ton2.PictureDefault.Graphic);
PNGButton3.Repaint;
PNGButton3.Refresh;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Image1.Canvas.StretchDraw(Image1.ClientRect,PNGButton1.PictureDefault.Graphic);
Image1.Canvas.StretchDraw(Image1.ClientRect,PNGButton2.PictureDefault.Graphic);
PNGButton3.PictureDefault:=Image1.Picture;
Ps - плз коменты по существу... про имэйдж лист бмп и прочее - не сюда плз.
Германн (2010-02-24 02:57:00) [9]
> KilkennyCat © (24.02.10 02:41) [18]
>
>
> > Германн © (24.02.10 02:02) [17]
>
> там полупрозрачность, красивая весчь.
>
Дык и я о том же.
KilkennyCat (2010-02-24 02:41:00) [10]
> Германн © (24.02.10 02:02) [17]
там полупрозрачность, красивая весчь.
Германн (2010-02-24 02:02:00) [11]
> KilkennyCat © (24.02.10 01:45) [16]
Ему видите-ли приспичило использовать png.
KilkennyCat (2010-02-24 01:45:00) [12]
> Какой развёрнутый ответ )) Пасиб - поржал )
Ответ более чем. Вызывает ржание - иди работать на ипподром. Перестанешь ржать - воспользуйся обычной кнопкой, обычным bmp, и всеми отрисованными вариантами в imagelist. Осиль хотя бы это.
{RASkov} (2010-02-23 19:44:00) [13]примерно так наверное:
var Png: TPNGObject;
begin
Png:=TPNGObject.Create;
try
PNGButton.ImageNormal.CreateBlank(COLOR_RGB, 8, PNGButton.Width, PNGButton.Height);
Png.LoadFromFile('rozha.png');
PNGButton.ImageNormal.Canvas.StretchDraw(PNGButton.ClientRect, Png);
Png.LoadFromFile('ramka.png');
PNGButton.ImageNormal.Canvas.StretchDraw(PNGButton.ClientRect, Png);
finally Png.Free; end;
end;
Хотя судя по коду в [12] разные TPNGButton используем. В моем нет свойства PictureDefault....
{RASkov} (2010-02-23 14:01:00) [14]> [12] vegarulez (23.02.10 12:54)
> logon:TPicture;
тебе не это нужно
смотри что там за объект в PNGBT.PictureDefault вот их два штуки и создавай, потом и рисуй на одном из них ихими методами рисования, конечный рисунок загружай в PNGBT.PictureDefault....
нет у меня времени сейчас разбираться с нестандартными компонентами которых у меня еще и нет...
vegarulez (2010-02-23 12:59:00) [15]{RASkov} © (20.02.10 20:53) [11]
если ты рулез - помоги тогда как правильнее сделать...
vegarulez (2010-02-23 12:54:00) [16]А кто говорит что я рулез в программинге??? Я бы тогда не писал на форуме начинающих. просто я пытаюсь сделать вот так:
var
PNGBT:TPNGButton;
i:integer;
logon:TPicture;
...
PNGBT.PictureDefault.LoadFromFile('./picture/bt_'+ inttostr(bt_pos[i+1])+'.png');
logon:=TPicture.Create;
logon.Bitmap.Width:=round(200);
logon.Bitmap.Height:=round(100);
logon.Bitmap.Transparent:=true;
logon.Graphic:=PNGBT.PictureDefault.Graphic;
PNGBT.PictureDefault.LoadFromFile('./picture/bt_'+ inttostr(bt_pos[i+1])+'_1.png');
logon.Bitmap.Canvas.StretchDraw(Rect(0,0,200,100),PNGBT.PictureDefault.Graphi c);
PNGBT.PictureDefault.Graphic:=logon.Graphic;
logon.free;
Строка выделенная жирным - чот не пашет как хочется...
ну как бы логика такая - что наложение пройдёт в TPicture и потом загрузится в TPNGButton
{RASkov} (2010-02-20 20:53:00) [17]> [9] vegarulez (17.02.10 16:47)
> Могу выложить компоненту
Типа нашел я крутой компонент, а разбираться в нем мне в лом...
Ща как выложу, вы его скачайте, установите в IDE, еще и разберитесь в нем, а посля мне тут все па пацакски растолкуйте.
Так шоли?
Какой же ты рулез если не можешь в одной кнопке разобраться? :)
vegarulez (2010-02-20 12:34:00) [18]мастера.... нид хелп...
vegarulez (2010-02-17 16:47:00) [19]Какой развёрнутый ответ )) Пасиб - поржал )
Я собственно про эти методы и спрашиваю... там их мульён.
Хелпа нет. (
Могу выложить компоненту.
{RASkov} (2010-02-17 15:17:00) [20]> png1.create;
> png2.create;
:) png1:=TPNG<чего-то там>.create;