def dpi=(n)
if !defined?(@dpi)
[Float, Fixnum].each do |c|
c.class_eval do
def px
self
end
def in
self * ::Magick::RVG.dpi
end
def mm
self * ::Magick::RVG.dpi / 25.4
end
def cm
self * ::Magick::RVG.dpi / 2.54
end
def pt
self * ::Magick::RVG.dpi / 72.0
end
def pc
self * ::Magick::RVG.dpi / 6.0
end
def pct(of)
self * Float(of) / 100.0
end
def deg
self
end
def rad
self * 180.0 / Math::PI
end
def grad
self * 9.0 / 10.0
end
end
end
end
@dpi = Float(n)
return @dpi
rescue ArgumentError
raise TypeError, "Can't convert `#{n}' to Float"
end