Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание маски изображения, CreateCompatibleBitmap,CreateCompatibleD 
:(
    Опции темы
Electron
Дата 5.11.2005, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.11.2005

Репутация: нет
Всего: нет



Помогите кто сможет. Требуется создать маску(растровый файл, точки, которые непрозрачные становяться черными, а белые остаются), с картинки. Картинка на белом фоне. Вот текст кода:
Код

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Private hdcMono, hbmpMono, hbmpOld As Long
Private dx, dy As Long

Private Sub Form_Load()
    With PicOut
        .AutoSize = True
        .AutoRedraw = True
        .ScaleMode = vbPixels
        dx = .ScaleWidth
        dy = .ScaleHeight
    End With
    With PicInp
        .Width = PicOut.Width
        .Height = PicOut.Height
        .ScaleMode = vbPixels
        .AutoRedraw = True
    End With
    hdcMono = CreateCompatibleDC(0)
    hbmpMono = CreateCompatibleBitmap(hdcMono, dx, dy)
    hbmpOld = SelectObject(hdcMono, hbmpMono)
    
    BitBlt hdcMono, 0, 0, dx, dy, PicOut.hdc, 0, 0, vbcopy
    BitBlt PicInp.hdc, 0, 0, dx, dy, hdcMono, 0, 0, vbcopy
    PicInp.Refresh
    
    SelectObject hdcMono, hbmpOld
    DeleteDC hdcMono
    DeleteObject hbmpMono
End Sub




Но почему-то не хочет работать....
PM MAIL   Вверх
Voldemar2004
Дата 5.11.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Ты выложил весь код? Или только часть? Не понятно, что такое PicOut - твой собственный объект. Или готовый ActiveX, присутствует он на форме или нет? Расскажи поподробнее.
Цитата(Electron @ 5.11.2005, 13:16)
Но почему-то не хочет работать....
И ошибку он выдает "Переменная не объявлена": PicOut.




--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
cardinal
Дата 5.11.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Это по идее PictureBox...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.