Module: ImageFilterDsl::Engine::IO
- Defined in:
- lib/image_filter_dsl/engine/io.rb
Overview
I/O methods for reading/writing Filter Kernel data to files
Defined Under Namespace
Modules: DataFormat
Class Method Summary collapse
-
.read(filename, format = DataFormat::KERNEL) ⇒ Dsl::Kernel::FilterKernel|Binary::Struct::IfdKernel
Read Filter Kernel from file.
-
.write(filename, filter) ⇒ Binary::Struct::IfdKernel
Write filter kernel to file.
Class Method Details
.read(filename, format = DataFormat::KERNEL) ⇒ Dsl::Kernel::FilterKernel|Binary::Struct::IfdKernel
Read Filter Kernel from file
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/image_filter_dsl/engine/io.rb', line 30 def self.read(filename, format=DataFormat::KERNEL) record = Binary::Struct::IfdKernel.new File.open(filename, 'rb'){|f| record.read(f) } if format == DataFormat::RECORD return record else return Binary::Serialize.to_kernel(record) end end |
.write(filename, filter) ⇒ Binary::Struct::IfdKernel
Write filter kernel to file
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/image_filter_dsl/engine/io.rb', line 46 def self.write(filename, filter) rec = nil if filter.is_a?(Dsl::Kernel::FilterKernel) rec = Binary::Serialize.to_record(filter) elsif filter.is_a?(Binary::Struct::IfdKernel) rec = filter end File.open(filename, 'wb') { |f| rec.write(f) } end |