|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Сломал голову надо сохраненем формы в BMP
Разрешение экрана 1920 на 1080
форма 3661 на 1920 на форме IMAGE висит поверх выводятся данные при сохранении сохраняется только видимая часть экрана а не вся форма что самое интересное что вчера вся форма сохранялась до переустановки винды. (win7) вот как сохраняю Код:
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 результат Код:
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); во втором варианте сохраняет правильный размер форму но видимая часть только с экрана Последний раз редактировалось jin_jin, 15.02.2013 в 11:54. |
#2
|
|||
|
|||
Попробуй PrintWindow.
|