Текущий архив: 2006.02.05;
Скачать: CL | DM;
Вниз
Ни как не соображу, как получить изображение под формой. Найти похожие ветки
← →
Shuric © (2005-12-28 16:41) [0]На ум приходит перечисление всех форм, отброс не перекрывающих необходимую и вывод изображения каждой в мой DC, что есть муторно и долго.
Собственно нет ли способа попроще?
← →
Anatoly Podgoretsky © (2005-12-28 17:02) [1]Под формой нет изображения.
← →
Deka © (2005-12-28 17:35) [2]Запомнить координаты формы, спрятать форму, вырезать кусок из DC(0), показать форму. И зачем тебе картинка "под формой"?
← →
Prohodil Mimo © (2005-12-28 21:00) [3]Deka © (28.12.05 17:35) [2]
И зачем тебе картинка "под формой"?
что бы наложить на форму :о)
← →
Shuric © (2005-12-28 21:39) [4]Имелось ввиду что на канву формы (типа не прямоугольная) накладывается изображение (ну не знаю как для [1] выразиться) под ней (под формой), и сверху в конву формы выводится рисунок с alpha каналом :) вот такая задачка. Зато не будет шерохотостей бордюра формы.
← →
Deka © (2005-12-29 10:39) [5]Долго напрягал воображение в попытках предствать то о чем в [4] ты написал. Так и не смог представить. Может есть другое решение? То что должно получиться на экране описАть можешь? Если только бордюр мешает, так он вроде проще убирается.
← →
Shuric © (2005-12-29 15:17) [6]На ум приходит окошко логотипа Potoshop CS2. Пытаюсь реализовать что-то типа примитивной skin библиотеки для себя.
Существует формат PNG (и всякие 32 битмапы), который позволяет сохранять в себе 4-ю составляющую (RGBA), ну и соответственно изображение с тенью (за счет использования альфа канала), например в TImage, смотрится привлекательней. С конролами на форме я разобрался, т.к. можно получить изображение под ними и соответственно накладывая на полученное изображение картинку из PNG получаем, например кнопочку с 3d эффектом. Проблема собственно формой, т.к. получить снимок под ней у меня неполучается :(
← →
Deka © (2005-12-29 15:37) [7]Если прозрачность тени не интересует, то может быть совсем отказаться от рамки окна и отрисовать все его элементы самому? Хотя может быть и прозрачность тени получится. Надо пробовать. Возьми TImage и растяни его на всю площадь окна, а у окна отключи отрисовку бордюра. Может быть так? Система сама будет следить за тем, что под твоим окном.
← →
Shuric © (2005-12-29 15:44) [8]Ты непонял, как раз интересует, а то парился бы я :) Форма на основе региона. Чтобы получить нужный эффект картинка из Png должна накладыватся на "что-то" а не на просто на серый фон.
← →
Igor_thief (2006-01-01 21:39) [9]Вот одного не пойму, зачем получать изображение под контролом?
← →
antonn © (2006-01-02 07:01) [10]меняйте телепатор, товарищи:)
как я понимаю, нужно сделать форму с переменной прозрачностью (например у acrobat Reader"а сплаш - квадратик с информацией и шикарная затененность на его фоне). Под win2k и выше можно использовать png и UpdateLayeredWindow(), на ОСях ниже так не получится.
Чтобы сделать вид полупрозрачности, берем фон под формой, и на этот фон накладываем полупрозрачную маску, и обработанный фон помещаем на форму. Т.е. вручную рисуем то, что в вин2к рисует система. Правда окно то на самом деле прозрачным не будет, но по виду не отличить:)
попробуй так:var BM:TBitmap;
procedure TForm1.Button1Click(Sender: TObject);
var DC:HDC;
begin
ShowWindow(Handle,SW_Hide);
sleep(1);
DC:=GetDC(0);
BitBlt(BM.Canvas.Handle,0,0,BM.Width,BM.Height,DC,left,top,SrcCopy);
ReleaseDC(0,DC);
ShowWindow(Handle,SW_Show);
BitBlt(canvas.Handle,0,0,BM.Width,BM.Height,BM.Canvas.Handle,0,0,SrcCopy);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
BM:=TBitmap.Create;
BM.Width:=width;
BM.Height:=Height;
end;
возможно нужно будет увеличить sleep(), чтобы окна перерисовались. А еще этот способ не "видит" прозрачные окна.
← →
Deka © (2006-01-03 14:25) [11]Тогда такое окошко перемещать нельзя - вся "прозрачность" разом пропадет. И при появлении новых либо при перемещении старых окошек эффект тоже пропадет. В общем подходит только для статики.
← →
OldNaum © (2006-01-03 16:52) [12]были четко сформулированные примеры окна с полупрозрачностью как в Winamp"e от одного из мастеров. не помню, то ли MBo, то ли еще кто...
Страницы: 1 вся ветка
Текущий архив: 2006.02.05;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.01 c