Class: TiffFile

Inherits:
Object
  • Object
show all
Includes:
TiffFileTags, TiffFileVersion
Defined in:
lib/tifffile.rb

Constant Summary

Constants included from TiffFileVersion

TiffFileVersion::VERSION

Instance Method Summary collapse

Methods included from TiffFileTags

#tag, tags

Instance Method Details

#get_field(fname) ⇒ Object

Get field value



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/tifffile.rb', line 24

def get_field(fname)
  field = tag fname
  return nil if field.nil?

  value = case field.type
            when :string
              get_string_field field.id
            when :ushort
              get_int_field field.id, 2
            when :uint
              get_int_field field.id, 4
            when :double
              get_float_field field.id, true
            when :float
              get_float_field field.id, true
            else
              nil
          end

  return value if field.map.nil?
  field.map.has_value?(value) ? field.map.key(value).to_sym : nil
end

#set_field(fname, fvalue) ⇒ Object

Set field value



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/tifffile.rb', line 48

def set_field(fname, fvalue)
  field = tag fname
  return nil if field.nil?

  symkey = fname.to_s.to_sym
  value = (field.map.nil? or not field.map.has_key?(symkey)) ? fvalue : field.map[symkey]

  case field.type
    when :string
      set_string_field field.id, value.to_s
    when :ushort
      set_int_field field.id, value.to_i, 2
    when :uint
      set_int_field field.id, value.to_i, 4
    when :double
      set_float_field field.id, value.to_i, true
    when :float
      set_float_field field.id, value.to_i, true
    else
      nil
  end

end