我尝试修改位图-在其上添加一个像素。
push ebp
mov ebp, esp
put_pixel:
mov eax, DWORD [ebp+8] ;address of bitmap
add eax, 130 ;take address i wanna change
mov eax, [eax] ;load address
not eax ;this adders is ff(white) change to (00) black
mov ecx, eax ;return value
mov eax, ecx ;return ecx
pop ebp
ret
但是它无能为力。这是更改位图上像素颜色的正确方法吗?也许我应该以某种方式保存它?
答案 0 :(得分:4)
这个评论太长了,因此我将其写为答案。
您将通过以下指令将$('[data-style="bw"]').show();
中的地址替换为其地址中的值:
EAX
在这里,您将覆盖写回更新值所需的地址。因此,将您的代码更改为
mov eax, [eax] ;load address
一个问题仍然存在:
130不是4的倍数。因此,如果每个像素位置有4个字节,则将修改(至少)两个像素的值(除非存在某种标题,问题不会不告诉我们)。重新考虑该方面,以便您只能修改一个像素。
编辑:
我合并了@Michael Petch的评论,并在创建框架之前设置了入口标签以获取完整的样本。谢谢。