|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.02.2013, 12:43 | #1 |
Новичок
Джуниор
Регистрация: 15.02.2013
Сообщений: 1
|
Форма IMAGE BMP сломал голову
Разрешение экрана 1920 на 1080
форма 3661 на 1920 на форме IMAGE висит поверх выводятся данные при сохранении сохраняется только видимая часть экрана а не вся форма что самое интересное что вчера вся форма сохранялась до переустановки винды. (win7) вот как сохраняю Код HTML:
wndcanvas := TCanvas.Create; wndcanvas.Handle := GetWindowDC(Handle); bmp := TBitmap.Create; bmp.Width := 3651; bmp.Height := 1920; bmp.Canvas.CopyRect(bmp.Canvas.ClipRect, wndcanvas, wndcanvas.ClipRect); bmp.PixelFormat := pf32bit; bmp.SaveToFile(put+'1.bmp'); bmp.Free; ReleaseDC(Handle, wndcanvas.Handle); wndcanvas.Free; вот 2 результат Код HTML:
FileName := ExtractFilePath(ParamStr(0)) + 'screen.bmp'; Rec.TopLeft := ScreenToClient(Self.BoundsRect.TopLeft); Rec.BottomRight := ScreenToClient(Self.BoundsRect.BottomRight); Bit := TBitmap.Create; Bit.Width := Rec.Right - Rec.Left + 1; Bit.Height := Rec.Bottom - Rec.Top + 1; Bit.Canvas.CopyRect(Rect(0, 0, Bit.Width, Bit.Height), Self.Canvas, Rec); bit.SaveToFile(put+'2.bmp'); FreeAndNil(Bit); во 2 случае форма по размеру правильная только обрезанная картинка в чем может быть загвоздка? Последний раз редактировалось jin_jin; 15.02.2013 в 12:46. |
15.02.2013, 20:29 | #2 |
Редкий тунеядец
Форумчанин
Регистрация: 29.10.2006
Сообщений: 595
|
ну скорей всего проблема решится после переустановки дров на видео, но в крайнем случае можно сделать кустарно дедовским способом:
создать самодельный BMP файл в который загрузить пиксели полученные PutPixel по всемо периметру окна при этом для гарантированного получения результата форму придется автоматически пошевелить а в конце вернуть в исходное положение. Например читаем цвет пикселя по координате экрана 1.1 и прогоняем позиционирование формы так что бы через эту точку проскочила поочередно вся картинка.. Выглядеть это будет отвратительно и скорей всего долго но работать должно)) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Всю голову сломал с индексацией сайта | engineer_pro | PHP | 4 | 17.08.2012 21:20 |
Не могу разобраться с ошибками, голову сломал | Cyber | Общие вопросы C/C++ | 8 | 14.02.2011 16:40 |
Как в Image.Picture.Bitmap загрузить и отмаштабировать bmp jpg pnp картинки? | XerSon | Общие вопросы Delphi | 33 | 27.11.2010 16:32 |
Всю голову сломал | lesha_firs | Общие вопросы Delphi | 6 | 17.06.2009 16:59 |
сохранить в BMP из Image | Toxa | Компоненты Delphi | 4 | 20.04.2007 12:32 |