|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.07.2010, 00:09 | #1 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
Заставка в программе
Есть в программе форма заставки, на ней размещён Image, в нём некий рисунок в виде элипса с выступающими краями, как сделать что бы был виден только этот рисунок, без белого фона и без самой формы?
|
18.07.2010, 00:11 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
1)форма без бордюров
2)установить прозрачный цвет форме(+сделать основной цвет формы тем самым прозрачным) 3)в Image кладем изображение и включаем Transparent(изображение Битмап) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
18.07.2010, 00:12 | #3 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Взято из ДелфиВорд:
Код:
Никогда не знаешь, где тебе повезет... (Фрай)
|
18.07.2010, 09:07 | #4 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
неудачаб вылазиит ошибка и картинку видна вместе с формой
unit Unit8; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls, jpeg, pngimage; type TForm8 = class(TForm) Image1: TImage; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form8: TForm8; implementation {$R *.dfm} procedure TForm8.FormCreate(Sender: TObject); var regn, tmpRegn: integer; // регион окна и временный регион x, y: integer; // координаты пикселя nullClr: TColor; // «прозрачный цвет» Gray, RGB: TBitmap; RS: TResourceStream; Region: HRGN; begin SetWindowRgn(form8.handle, regn, true); RGB := TBitmap.Create; Gray := TBitmap.Create; begin nullClr := image1.picture.Bitmap.Canvas.Pixels[0, 0]; // Image1 это картинка по которой создается форма окна 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; end; end; |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заставка... | maxlake1 | Помощь студентам | 0 | 20.04.2010 20:51 |
Графическая заставка на с++??? | chuprinandr | Фриланс | 9 | 23.03.2010 23:11 |
Своеобразная заставка | Arkady_Killer | Фриланс | 5 | 16.03.2010 19:20 |
Заставка | Ark | Общие вопросы Delphi | 23 | 23.08.2009 01:10 |
Заставка к программе (C++) | NoiseEP | Помощь студентам | 0 | 08.04.2009 17:24 |