Библиотека просто зашифровывает одно длинное целое в другое длинное целое - не имеет значения, откуда это число.
Все, что вам нужно сделать, это зациклить пиксели на изображении, скопировать длинное целое числостоит (вероятно, 32 бита, но зависит от вашей платформы) в функцию шифрования, а затем скопируйте полученное длинное целое число зашифрованных в другое изображение.
Единственное решение, которое вам нужно сделать, - вы хотитезашифровать весь файл изображения - включая заголовок или только блок данных изображения?
Если вы зашифруете весь файл, вы можете использовать любую другую утилиту Blowfish для его шифрования / дешифрования, но никто не узнает, что это изображение.Если вы зашифруете только блок изображения, другие люди будут знать, что это изображение, и смогут открыть его - но увидят случайное изображение - но они смогут зашифровать / расшифровать его только с помощью вашего программного обеспечения.
// assuming Blowfish_Encrypt is context,input,output
unsigned char *data = image.get_pointer_to_data();
int step = sizeof(unsigned long);
for (int y=0;y<rows;y++) {
for (int x=0;x<cols;x+=step) {
memcpy(&L,data,step);
Blowfish_Encrypt(&ctx, &L, &R);
memcpy(data,&R,step);
data += step;
}
}
Не является оптимальным решением, и вы должны быть немного осторожны с заполнением - но показывает вам общую идею