Class: Magick::KernelInfo
- Inherits:
-
Object
- Object
- Magick::KernelInfo
- Defined in:
- ext/RMagick/rmmain.c
Class Method Summary collapse
-
.builtin(what, geometry) ⇒ Object
Create new instance of KernelInfo with one of the ‘named’ built-in types of kernels used for special purposes such as gaussian blurring, skeleton pruning, and edge distance determination.
Instance Method Summary collapse
-
#clone ⇒ Object
Creates a new clone of the object so that its can be modified without effecting the original.
-
#dup ⇒ Object
Creates a new clone of the object so that its can be modified without effecting the original.
-
#initialize(kernel_string) ⇒ Object
constructor
KernelInfo object constructor.
- #scale(scale, flags) ⇒ Object
-
#scale_geometry(geometry) ⇒ Object
Takes a geometry argument string, typically provided as a “-set option:convolve:scale geometry” user setting, and modifies the kernel according to the parsed arguments of that setting.
-
#show ⇒ Object
deprecated
Deprecated.
This method has been deprecated.
- #unity_add(scale) ⇒ Object
- #zero_nans ⇒ Object
Constructor Details
#initialize(kernel_string) ⇒ Object
KernelInfo object constructor
Ruby usage:
- @verbatim KernelInfo#initialize @endverbatim
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'ext/RMagick/rmkinfo.c', line 52
VALUE
KernelInfo_initialize(VALUE self, VALUE kernel_string)
{
KernelInfo *kernel;
Check_Type(kernel_string, T_STRING);
kernel = AcquireKernelInfo(StringValueCStr(kernel_string));
if (!kernel)
{
rb_raise(rb_eRuntimeError, "failed to parse kernel string");
}
DATA_PTR(self) = kernel;
return self;
}
|
Class Method Details
.builtin(what, geometry) ⇒ Object
Create new instance of KernelInfo with one of the ‘named’ built-in types of kernels used for special purposes such as gaussian blurring, skeleton pruning, and edge distance determination.
Ruby usage:
- @verbatim KernelInfo.builtin(kernel, geometry = nil) @endverbatim
249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 |
# File 'ext/RMagick/rmkinfo.c', line 249
VALUE
KernelInfo_builtin(VALUE self, VALUE what, VALUE geometry)
{
KernelInfo *kernel;
KernelInfoType kernel_type;
GeometryInfo info;
Check_Type(geometry, T_STRING);
VALUE_TO_ENUM(what, kernel_type, KernelInfoType);
ParseGeometry(StringValueCStr(geometry), &info);
kernel = AcquireKernelBuiltIn(kernel_type, &info);
if (!kernel)
{
rb_raise(rb_eRuntimeError, "failed to acquire builtin kernel");
}
return Data_Wrap_Struct(self, NULL, rm_kernel_info_destroy, kernel);
}
|
Instance Method Details
#clone ⇒ Object
Creates a new clone of the object so that its can be modified without effecting the original.
Ruby usage:
- @verbatim KernelInfo#clone @endverbatim
192 193 194 195 196 197 |
# File 'ext/RMagick/rmkinfo.c', line 192
VALUE
KernelInfo_clone(VALUE self)
{
KernelInfo *kernel = CloneKernelInfo((KernelInfo*)DATA_PTR(self));
return Data_Wrap_Struct(Class_KernelInfo, NULL, rm_kernel_info_destroy, kernel);
}
|
#dup ⇒ Object
Creates a new clone of the object so that its can be modified without effecting the original.
Ruby usage:
- @verbatim KernelInfo#clone @endverbatim
192 193 194 195 196 197 |
# File 'ext/RMagick/rmkinfo.c', line 192
VALUE
KernelInfo_clone(VALUE self)
{
KernelInfo *kernel = CloneKernelInfo((KernelInfo*)DATA_PTR(self));
return Data_Wrap_Struct(Class_KernelInfo, NULL, rm_kernel_info_destroy, kernel);
}
|
#scale(scale, flags) ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'ext/RMagick/rmkinfo.c', line 148
VALUE
KernelInfo_scale(VALUE self, VALUE scale, VALUE flags)
{
GeometryFlags geoflags;
if (!FIXNUM_P(scale))
Check_Type(scale, T_FLOAT);
if (rb_obj_is_instance_of(flags, Class_GeometryFlags))
VALUE_TO_ENUM(flags, geoflags, GeometryFlags);
else
rb_raise(rb_eArgError, "expected Integer or Magick::GeometryFlags to specify flags");
ScaleKernelInfo((KernelInfo*)DATA_PTR(self), NUM2DBL(scale), geoflags);
return Qnil;
}
|
#scale_geometry(geometry) ⇒ Object
Takes a geometry argument string, typically provided as a “-set option:convolve:scale geometry” user setting, and modifies the kernel according to the parsed arguments of that setting.
Ruby usage:
- @verbatim KernelInfo#scale_geometry(geometry) @endverbatim
175 176 177 178 179 180 181 |
# File 'ext/RMagick/rmkinfo.c', line 175
VALUE
KernelInfo_scale_geometry(VALUE self, VALUE geometry)
{
Check_Type(geometry, T_STRING);
ScaleGeometryKernelInfo((KernelInfo*)DATA_PTR(self), StringValueCStr(geometry));
return Qnil;
}
|
#show ⇒ Object
This method has been deprecated.
Dumps KernelInfo object to stderr
Ruby usage:
- @verbatim KernelInfo#show @endverbatim
124 125 126 127 128 129 130 |
# File 'ext/RMagick/rmkinfo.c', line 124
VALUE
KernelInfo_show(VALUE self)
{
rb_warning("KernelInfo#show is deprecated");
ShowKernelInfo((KernelInfo*)DATA_PTR(self));
return Qnil;
}
|
#unity_add(scale) ⇒ Object
105 106 107 108 109 110 111 112 113 |
# File 'ext/RMagick/rmkinfo.c', line 105
VALUE
KernelInfo_unity_add(VALUE self, VALUE scale)
{
if (!FIXNUM_P(scale))
Check_Type(scale, T_FLOAT);
UnityAddKernelInfo((KernelInfo*)DATA_PTR(self), NUM2DBL(scale));
return Qnil;
}
|
#zero_nans ⇒ Object
84 85 86 87 88 89 90 |
# File 'ext/RMagick/rmkinfo.c', line 84
VALUE
KernelInfo_zero_nans(VALUE self)
{
rb_warning("KernelInfo#zero_nans is deprecated");
ZeroKernelNans((KernelInfo*)DATA_PTR(self));
return Qnil;
}
|