· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Raw Viewer

Посл.отвђт Сообщенiе


Дата: Янв 27, 2003 11:32:42

Пишу свою первую прогу. Win32ASM и всё такое
исходников накачал пачку, но нигде не нашел как вывести в диалоге d мелком окошке картинку в формате:
20х20точек это соответсвенно 3 байта по Х и 20 по Y т.е. всего 60 байт.
каждый бит это соотв точка.
вобщем как на спектруме. да еще и ч\б.
Помогите.


Дата: Янв 27, 2003 18:34:38

Делайте loop по X и Y, рисуйте точки при помощи SetPixel, на WM_PAINT. Что-то типа этого:

.data
ps PAINTSTRUCT <>
.code

.if [uMsg]==WM_PAINT
invoke BeginPaint, [hWnd], ADDR ps
push ebx
push esi
push edi
mov esi, OFFSET rawbmp
and [y], 0
@@y: and [x], 0
mov edi, esi
xor ebx, ebx
@@x: xor eax, eax
bt byte ptr [edi], bl
jnc @F
mov eax, 00FFFFFFh
@@: invoke SetPixel, [ps.hdc], [x], [y], eax
inc ebx
cmp ebx, 8
jb @F
inc edi
xor ebx, ebx
@@: inc [x]
cmp [x], 20
jb @@x
add esi, 3
inc [y]
cmp [y], 20
jb @@y
pop edi
pop esi
pop ebx
invoke EndPaint, [hWnd], ADDR ps
.endif

Вполне возможно тут клопы, я этот код не тестировал.


Дата: Янв 27, 2003 19:36:30

Вот тестированый пример:

http://comrade64.hotbox.ru/work/rawbmp.zip


Дата: Янв 29, 2003 08:09:30

Вау ! Не ожидал ! Огромное спасибо


Дата: Янв 29, 2003 08:10:10

Вау ! Не ожидал ! Огромное спасибо


Дата: Янв 30, 2003 10:59:44 · Поправил: Eaxbyte

А почему когда этот диалог перекрывает окно то картника исчезает ?
А как теперь по быстрому очистить то место где нарисовалась картинка
?
Или как превратить то что нарисовано в bmp ? или ещё во что нить с чем можно работать как с image


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.072