:: Visual Foxpro, Foxpro for DOS
Расписаться на форме
Grisha
Автор

Сообщений: 160
Дата регистрации: 07.07.2005
Eсли у кого нибудь готовое решение как
клиент может расписаться на форме
и потом сохранить изображение.
(связать Drawline и MouseMove , _Screen.System.Drawing итд)
Спасибо
Ratings: 0 negative/0 positive
Re: Расписаться на форме
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Посмотрите пример в Solution/Forms/Form Graphic/Draw Lines ...
Ratings: 0 negative/0 positive
Re: Расписаться на форме
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Мышкой можно, готового нет, но, вроде, не сложно
Ratings: 0 negative/0 positive
Re: Расписаться на форме
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
"Расписываться мышкой" - это будет нечто. ;)
Мне кажется, подобное имеет смысл, лишь при наличии хотя бы какого-то графического планшета с пером, не говоря уж о специализированной панели именно для вставки ручной подписи в документ, хотя такие возможно и тяжелее найти.
Намного эффективней было бы например попросту вставлять отсканированную с листа подпись. В крайнем случае - чтобы клиент какой-то кнопкой накладывал поверх изображения эту заранее сохраненную у него где-то в файле подпись.
Рисование же мышкой в любом случае будет сродни детским закорючкам. Что едва ли можно будет признать за серьезную "подпись". Мышь к сожалению не предназначена для таких тонких вещей. В чем несложно убедиться хоть в том же Paint Brush.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Расписаться на форме
Grisha
Автор

Сообщений: 160
Дата регистрации: 07.07.2005
Экран 'Touch' , так что с этим нет проблемы
Пример в Solution/Forms/Form Graphic/Draw Line
Я знаю проблема у меня сохранить только то место где расписались
а не весь экран.
Спасибо.
Ratings: 0 negative/0 positive
Re: Расписаться на форме
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
А в Решения заглянуть религия не позволяет?
Ratings: 0 negative/0 positive
Re: Расписаться на форме
Grisha
Автор

Сообщений: 160
Дата регистрации: 07.07.2005
Хамство !
Ratings: 0 negative/0 positive
Re: Расписаться на форме
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Grisha
Хамство !
Хамство это не увидеть прямую ссылку, и не сходить по ней.
Ratings: 0 negative/2 positive
Re: Расписаться на форме
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Grisha
Проверьте код:
LPARAMETERS toForm,tcFileName,tnLeft,tnTop,tnRight,tnBottom
DECLARE PrintWindow IN WIN32API LONG HWND, LONG hdcBlt, LONG nFlags
DECLARE LONG GdipGetImageGraphicsContext IN GDIPLUS.DLL LONG nImage, LONG @ graphics
DECLARE LONG GdipGetDC IN GDIPLUS.DLL LONG nImage, LONG @ hdc
DECLARE LONG GdipCreateBitmapFromScan0 IN GDIPLUS.DLL LONG, LONG, LONG, LONG, LONG, LONG @
DECLARE GdipDisposeImage IN GDIPLUS.DLL LONG
DECLARE GdipDeleteGraphics IN GDIPLUS.DLL LONG
DECLARE GdipReleaseDC IN GDIPLUS.DLL LONG nativeGraphics, LONG hdc
DECLARE LONG GdipSaveImageToFile IN GDIPLUS.DLL LONG, STRING, STRING, STRING
DECLARE INTEGER CreateRectRgn IN gdi32.DLL INTEGER nLeftRect,INTEGER nTopRect,INTEGER nRightRect,INTEGER nBottomRect
DECLARE INTEGER SetWindowRgn IN user32 INTEGER nHwnd, INTEGER nRgn , INTEGER bredraw
LOCAL lnBitmap,lnGraphics,lhDCg,lhRect,lcFileExt,lcClsidEncoder,lnWBorder,lnWTitle
STORE 0 TO lnBitmap,lnGraphics,lhDCg
lnWBorder = SYSMETRIC(3) && Ширина рамки обрамления
lnWTitle = SYSMETRIC(9) && Высоты заголовка формы
= GdipCreateBitmapFromScan0(toForm.WIDTH,toForm.HEIGHT,0,0x000E200B,0,@lnBitmap)
= GdipGetImageGraphicsContext(lnBitmap,@lnGraphics)
= GdipGetDC(lnGraphics,@lhDCg)
lhRect = CreateRectRgn(lnWTitle + tnLeft,lnWBorder + lnWTitle + tnTop,lnWBorder + tnRight,lnWBorder + lnWTitle + tnBottom)
= SetWindowRgn(toForm.HWND,lhRect,1)
= PrintWindow(toForm.HWND,lhDCg,0)
= GdipReleaseDC(lnGraphics,lhDCg)
= GdipDeleteGraphics(lnGraphics)
lcFileExt = LOWER(JUSTEXT(tcFileName))
DO CASE
CASE lcFileExt == 'bmp'
lcClsidEncoder = 0h00F47C55041AD3119A730000F81EF32E
CASE lcFileExt == 'gif'
lcClsidEncoder = 0h02F47C55041AD3119A730000F81EF32E
CASE lcFileExt == 'jpg'
lcClsidEncoder = 0h01F47C55041AD3119A730000F81EF32E
CASE lcFileExt == 'png'
lcClsidEncoder = 0h06F47C55041AD3119A730000F81EF32E
CASE lcFileExt == 'tif'
lcClsidEncoder = 0h05F47C55041AD3119A730000F81EF32E
OTHERWISE
MESSAGEBOX('UnknownImageFormat')
RETURN .F.
ENDCASE
= GdipSaveImageToFile(lnBitmap,STRCONV(tcFileName + CHR(0),5),lcClsidEncoder,NULL)
= GdipDisposeImage(lnBitmap)
toForm.RELEASE()

pasha_usue
Довод ваш "самдурак" неотразим!
Ratings: 0 negative/0 positive
Re: Расписаться на форме
Grisha
Автор

Сообщений: 160
Дата регистрации: 07.07.2005
Спасибо
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 29 (Гостей: 29)

© 2000-2024 Fox Club 
Яндекс.Метрика