Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Вниз

Ни как не соображу, как получить изображение под формой.   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.02 c
2-1137476418
Dot
2006-01-17 08:40
2006.02.05
выборка из таблицы в StringGrid


1-1135901247
Name
2005-12-30 03:07
2006.02.05
Ошибки программы


2-1137675869
Змей
2006-01-19 16:04
2006.02.05
borderstyle ->bsnone (нельзя изменить размеры формы)


15-1137138220
Fredericco
2006-01-13 10:43
2006.02.05
Интересные факты о Чаке Норрисе.


15-1137359086
Kerk
2006-01-16 00:04
2006.02.05
Убила фраза :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский