Intento copiar el buffer de un map en otro para mostrarlo como resultado (ya que no puedo mostrar los cambios directamente sobre el buffer de la misma) y me da lo que sospecho es un error de violación de algún tipo de memoria.
Ya os anuncio que son dos imágenes con el mismo ancho alto y profundidad
El código es el siguiente:
[code language="bennu"]
byte pointer data,data_des;
char *p,*p_des;
data = map_buffer(0,imagen);//apuntamos al buffer de la imagen
data_des=map_buffer(0,mapa_desen);//y al de la imagen futura
long_encript=ancho*depth/8;
from i=0 to alto-1; // bucle que va recorriendo el buffer de la imagen
p=data+i*pitch;//apunta a la siguiente línea del buffer
p_des=data_des+i*pitch;
from j=0 to long_encript; // bucle que va desencriptando el contenido
fread(archivo_clave,rand_key);//leemos la clave
p[j]^=rand_key; // le aplica un xor con la clave
//p_des[j]=p[j]; //copiamos el contenido, parte que supuestamente da el error
end
fwrite(p,long_encript,archivo_destino);
end
[/code]
Muchísimas gracias a todos