Method: Magick::Image#decipher
- Defined in:
- ext/RMagick/rmimage.cpp
#decipher(passphrase) ⇒ Magick::Image
Decipher an enciphered image.
5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 |
# File 'ext/RMagick/rmimage.cpp', line 5231
VALUE
Image_decipher(VALUE self, VALUE passphrase)
{
Image *image, *new_image;
char *pf;
ExceptionInfo *exception;
MagickBooleanType okay;
image = rm_check_destroyed(self);
pf = StringValueCStr(passphrase); // ensure passphrase is a string
exception = AcquireExceptionInfo();
new_image = rm_clone_image(image);
GVL_STRUCT_TYPE(DecipherImage) args = { new_image, pf, exception };
void *ret = CALL_FUNC_WITHOUT_GVL(GVL_FUNC(DecipherImage), &args);
okay = static_cast<MagickBooleanType>(reinterpret_cast<intptr_t &>(ret));
rm_check_exception(exception, new_image, DestroyOnError);
if (!okay)
{
DestroyImage(new_image);
rb_raise(rb_eRuntimeError, "DecipherImage failed for unknown reason.");
}
DestroyExceptionInfo(exception);
return rm_image_new(new_image);
}
|