powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как создать точечный рисунок на форме с последующей записью рисунка в файл
7 сообщений из 7, страница 1 из 1
как создать точечный рисунок на форме с последующей записью рисунка в файл
    #36937903
hudson28
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
задача такого рода: Нужно занести в базу электронные подписи клиентов. Подписи заносятся с помощью графического планшета. Были попытки реализовать задачу с помощью вставки OLE обекту (точечный рисунок) в таблицу GEN, но размер базы при этом становится неконтролируемо большим ...
Может кто подскажет, как можно записать из формы создан на ней же (ole объектом) точечный рисунок В файл с определенным НАЗВАНИЕМ (название буду кодировать). Чтобы в базе хранить только ссылки на соответствующие файлы ...
У Фоксе новичок. Буду благодарен за любые идеи и инфу

id - идентификатор подписи
sign - адрес картинки

create table signature (id c(5), sign c(100))
...
Рейтинг: 0 / 0
как создать точечный рисунок на форме с последующей записью рисунка в файл
    #36938075
ЛДПР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hudson28,

если сможеш получить хендл окна оле объекта (в данном примере oOleObject.HWnd) то так можно сохранить в вайл а дальше через filetostr() записать в blob поле таблицы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
    DECLARE PrintWindow IN WIN32API Long hwnd, Long hdcBlt, Long nFlags      
    DECLARE Long GdipGetImageGraphicsContext IN Gdiplus.dll Long nativeImage, Long @ graphics    
    DECLARE Long GdipGetDC IN Gdiplus.dll Long nativeImage, 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    
        
    lqClsidEncoderBMP = 0h00F47C55041AD3119A730000F81EF32E    
    lnBitmap =  0     
    lnGraphics =  0     
    hdc =  0     
    lnStatus =  0     
    lnWidth = oOleObject.Width 
    lnHeight = oOleObject.Height    
        
    lnStatus = GdipCreateBitmapFromScan0(lnWidth, lnHeight,  0 , 0x000E200B,  0 , @lnBitmap)    
    IF lnStatus =  0     
    	lnStatus = GdipGetImageGraphicsContext(lnBitMap, @lnGraphics)    
    ENDIF 	    
    IF lnStatus =  0     
    	lnStatus = GdipGetDC(lnGraphics, @hdc)    
    	PrintWindow(oOleObject.HWnd, hdc,  0 )    
    ENDIF     
        
    = GdipReleaseDC(lnGraphics, hdc)    
    = GdipDeleteGraphics(lnGraphics)    
        
    lnStatus = GdipSaveImageToFile(lnBitMap, STRCONV("mytest.bmp" + CHR( 0 ),  5 ), lqClsidEncoderBMP, NULL)    
        
    = GdipDisposeImage(lnBitMap)    
        
    IF lnStatus >  0     
    	= MESSAGEBOX("Ошибка GDI+" + STR(lnStatus))    
    ENDIF
...
Рейтинг: 0 / 0
как создать точечный рисунок на форме с последующей записью рисунка в файл
    #36938083
ЛДПР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛДПР,

Перечитал вопрос и понял что файл подписи уже есть и его просто надо сохранить в базу если так то остается только вторая часть filetostr() в blob поле (если опять правильно плонял)
...
Рейтинг: 0 / 0
как создать точечный рисунок на форме с последующей записью рисунка в файл
    #36938520
hudson28
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛДПР,

файл подписи создаётся на месте... и эту "закарлючку" я хочу загнать у графический файл (растровый или векторный) из определенным именем... (у базе хранить только закодированные имена этих файлов)

Ваше предложение по поводу хендла мне нравитса! надо разбираться.., я в программирование чуть более пол года и оперирую слишком малой базой знаний...
...
Рейтинг: 0 / 0
как создать точечный рисунок на форме с последующей записью рисунка в файл
    #36938585
ЛДПР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hudson28,

что за оле объект используется для создания рисунка подписи?
Стандартно оле объект имеет свойство указываюшее на HWnd окна
В принцыпе нарисовать можно и самим Фоксом примеры есть в решениях
...
Рейтинг: 0 / 0
как создать точечный рисунок на форме с последующей записью рисунка в файл
    #36938907
hudson28
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛДПРhudson28,

что за оле объект используется для создания рисунка подписи?
Стандартно оле объект имеет свойство указываюшее на HWnd окна
В принцыпе нарисовать можно и самим Фоксом примеры есть в решениях

Каким способом Вы посоветуете рисовать у Фоксе?
...
Рейтинг: 0 / 0
как создать точечный рисунок на форме с последующей записью рисунка в файл
    #36939012
ЛДПР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hudson28,

Пример в решениях
Нажимаеш Task Pane\Forms\Form graphics\Draw lines and shapes on a form
и смотриш
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как создать точечный рисунок на форме с последующей записью рисунка в файл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]