Страница: 1 | 2 |
Вопрос: Form to BMP
Добавлено: 17.07.04 02:22
Автор вопроса: Ratu.R
Как сделать так чтоб все содержимое формы (в данном случае график на MSChart) записались в BMP или JPG файл
Ответы
Всего ответов: 22
Номер ответа: 1
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #1
Добавлено: 17.07.04 02:38
Может BitBlt?
Номер ответа: 2
Автор ответа:
Ratu.R
Вопросов: 8
Ответов: 19
Профиль | | #2
Добавлено: 17.07.04 02:53
Че? Мот , если можно, напишешь по понятней, а то я не понял.
Номер ответа: 3
Автор ответа:
Ratu.R
Вопросов: 8
Ответов: 19
Профиль | | #3
Добавлено: 17.07.04 03:24
НУ если никто не знает как в БМП ил Джипег, тады мот кто подскажет как закнать содержимое формы в вордовский файл .DOC
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #4
Добавлено: 17.07.04 10:05
Именно все содержимое формы, только если она видна будет на экране, можно через BitBlt, т.е. фоткнуть экран и зная прямоугольник окошка, вырезать картинку оттуда... сохранение, через SavePicture в bmp формат не представляет никаких трудностей.
Номер ответа: 5
Автор ответа:
Ratu.R
Вопросов: 8
Ответов: 19
Профиль | | #5
Добавлено: 17.07.04 14:02
Люди, мот кто напишет исходники. Если не трудно,просто очень надо
Номер ответа: 6
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #6
Добавлено: 17.07.04 15:29
Учите API товарищи!!!
Функция BitBlt
Declare Function BitBlt Lib "gdi32.dll" (ByVal hdcDest As Long, ByVal nXDest As Long, ByVal nYDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal dwRop As Long) As Long
Платформа
Windows 95/98: Поддерживается.
Windows NT: Требуется Windows NT 3.1 или выше.
Windows 2000: Поддерживается.
Windows CE: Требуется Windows CE 1.0 или выше.
BitBlt используется для выполнения операции копирования отдельных битов из области источника изображения в область-получатель.Функция позволяет передавать прямоугольную область из контекста устройства в контекст другого устройства. Размеры переданного прямоугольника совершенно сохраняются.
Возвращаемое значение
В случае ошибки функция возвращает 0 (Windows NT, 2000: используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает значение отличное от нуля.
Параметры
hdcDest
Дескриптор контекста устройства устройства, которое получает переданный блок изображения.
nXDest
Координата x точки верхнего левого угла блока изображения(получатель).
nYDest
Координата y точки верхнего левого угла блока изображения(получатель).
nWidth
Ширина в пикселах блока изображения.
nHeight
Высота в пикселах блока изображения.
hdcSrc
Дескриптор к контексту устройства устройства, которое содержит блок изображения для копирования.
nXSrc
Координата x точки верхнего левого угла блока изображения(источник).
nYSrc
Координата y точки верхнего левого угла блока изображения(источник).
dwRop
Один из следующих флажков, идентифицирующих растровую операцию для передачи блока изображения. Каждая растровая операция использует RGB-значение цвета исходного исходного пиксела, чтобы определить новый цвет пиксела.
BLACKNESS
Заполняет область-получатель черным цветом.
CAPTUREBLT
Windows 98, 2000: Include any windows layered on top of the window being used in the resulting image.
DSTINVERT
Инвертирует область-получатель.
MERGECOPY
Изображение определяется результатом выполнения операции побитового AND над копируемым изображением или шаблоном.
MERGEPAINT
Изображение определяется результатом выполнения операции побитового OR над инвертируемым копируемым и областью-получателем.
NOMIRRORBITMAP
Windows 98, 2000: Предотвращает точечный рисунок от зеркального отражения.
NOTSRCCOPY
Изображение определяется инвертируемым исходным изображением.
NOTSRCERASE
Комбинирование цвета и прямоугольников источника и получателя, использующих поразрядный оператор OR с последующим инвертированием результирующего цвета.
PATCOPY
Шаблон копируется в область получатель.
PATINVERT
Комбинирование цвета указанного шаблона с цветами прямоугольника адресата, используя поразрядный оператор XOR.
PATPAINT
Комбинирование цвета указанного образца с цветами перевернутого исходного прямоугольника, используя поразрядный оператор OR. Комбинируйте результат той операции с цветами прямоугольника адресата, используя поразрядный оператор OR.
SRCAND
Комбинирование цвета и прямоугольников источника иадресата, использующих поразрядный оператор AND.
SRCCOPY
Копирование исходного прямоугольника непосредственно в прямоугольник адресата без изменений.
SRCERASE
Комбинирование перевернутых цветов прямоугольника адресата с цветами источника , используя поразрядный оператор AND.
SRCINVERT
Комбинирование цвета и прямоугольников источника и адресата, использующих поразрядный оператор XOR.
SRCPAINT
Комбинирование цвета и прямоугольников источника и адресата, использующих поразрядный оператор OR.
WHITENESS
Заполняет область-получатель белым цветом.
Константы
Const BLACKNESS = &H42
' Const CAPTUREBLT = ???
Const DSTINVERT = &H550009
Const MERGECOPY = &HC000CA
Const MERGEPAINT = &HBB0226
' Const NOMIRRORBITMAP = ???
Const NOTSRCCOPY = &H330008
Const NOTSRCERASE = &H1100A6
Const PATCOPY = &HF00021
Const PATINVERT = &H5A0049
Const PATPAINT = &HFB0A09
Const SRCAND = &H8800C6
Const SRCCOPY = &HCC0020
Const SRCERASE = &H440328
Const SRCINVERT = &H660046
Const SRCPAINT = &HEE0086
Const WHITENESS = &HFF0062
Пример
' Копируем изображение прямоугольника из формы Form1 в форму Form2
' используя SRCCOPY. Прямоугольник имеет ширину 100 и высоту
' 50. Верхний левый угол источника- (350, 250); копия расположится в координатах
' (0,0) формы Form2.
Dim retval As Long ' возвращаемое значение
' Переместим изображение точно как описано выше.
retval = BitBlt(Form2.hDC, 0, 0, 100, 50, Form1.hDC, 350, 250, SRCCOPY)
Номер ответа: 7
Автор ответа:
AASoft
Вопросов: 86
Ответов: 920
Профиль | | #7
Добавлено: 17.07.04 20:09
Samyj prostoj sposob:PrintScreen tvoej formy. potom beresh` u oblast` v kotoroj tvoj Chart, i pihaem v fajl. problem byt` ne dolzhno
Номер ответа: 8
Автор ответа:
Ratu.R
Вопросов: 8
Ответов: 19
Профиль | | #8
Добавлено: 17.07.04 20:19
Я наверно совсем отупел и ни чего не понял, да и времени нет разбираться. Если не сложно мот еще раз напишите исходники для такого. В 3-ей ворме находится два MSChart'a, форма во весь экран и надо енто скопировать в файл C:\123.bmp, а лучше C:\123.jpg
Номер ответа: 9
Автор ответа:
Ratu.R
Вопросов: 8
Ответов: 19
Профиль | | #9
Добавлено: 17.07.04 21:23
Barsik
Чета у меня не работает,а пишет
Compile error:
Constants, fixed-length strings, arrays, user-defined and declare statements not allowed as public members of object modules
Номер ответа: 10
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #10
Добавлено: 17.07.04 22:26
Посмотри какую строчку выделяет VB при ошибке.
И глянь как объявлена переменная.
Если DIM или PUBLIC, то попробуй изменить на PRIVATE.
Номер ответа: 11
Автор ответа:
Ratu.R
Вопросов: 8
Ответов: 19
Профиль | | #11
Добавлено: 17.07.04 23:20
@CyRax PTR
Выделяет строку
Declare Function BitBlt Lib "gdi32.dll" (ByVal hdcDest As Long, ByVal nXDest As Long, ByVal nYDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal dwRop As Long) As Long
Номер ответа: 12
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #12
Добавлено: 17.07.04 23:23
PRIVATE Declare Function BitBlt ...
Номер ответа: 13
Автор ответа:
Ratu.R
Вопросов: 8
Ответов: 19
Профиль | | #13
Добавлено: 17.07.04 23:24
ЛЮДИ!!!!! ТАк кто-нить может мне написать код для такого случая, когда В 3-ей ворме находится два MSChart'a, форма во весь экран и надо енто скопировать в файл C:\123.bmp, а лучше C:\123.jpg
Номер ответа: 14
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #14
Добавлено: 17.07.04 23:28
За деньги могу. А сам то что? Неохота?
Номер ответа: 15
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #15
Добавлено: 17.07.04 23:50
За деньги тут хоть тебе в очередь выстроятся )
А вообще, экспериментируй, подумаешь ошибка выскочила, поменяй что-нибудь и посмотри что получится...