我在C语言中获得了以下功能。它必须从图像中修改像素。它以图像的地址,2个坐标和必须存储在该位置的字节为参数。
void image_set_pixel(Image *img, int x, int y, Pixel colour) {
Pixel *pixel = image_pixel_addr(img, x, y);
*pixel = colour;
}
我尝试了这个,但是似乎有些不起作用:
image_set_pixel: # ($a0, $a1, $a2, $a3) = (img, x, y, pixel color)
addiu $sp, $sp, -8
sw $ra, 0($sp)
sw $s0, 4($sp)
jal image_pixel_addr # this func returns the adress of a pixel inside an image
move $s0, $v0
sb $a3, 0($s0)
lw $ra, 0($sp)
lw $s0, 4($sp)
addiu $sp, $sp, 8
jr $ra