Create function mm_to_float().
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 4 Jun 2019 20:33:22 +0000 (22:33 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 4 Jun 2019 21:02:41 +0000 (23:02 +0200)
gimp_passport.py
test_gimp_passport.py

index 63ae729..9497fb0 100644 (file)
@@ -1,10 +1,15 @@
 import argparse
+from numbers import Integral
 from PIL import Image
 
 
 MM_PER_INCH = 25.4
 
 
+def mm_to_pixel(mm: float, dpi: Integral) -> int:
+    return int(round(mm / MM_PER_INCH * dpi))
+
+
 def make_passport(img_rgba: Image, fpr: float, width_mm: float, height_mm: float) -> Image:
     """
     :param fpr: face to picture ratio, e.g. 2/3
index 93487ce..37461c9 100644 (file)
@@ -1,10 +1,15 @@
 import os
 import unittest
-from gimp_passport import main
+from gimp_passport import mm_to_pixel, main
 
 
 class TestMakePassport(unittest.TestCase):
 
+    def test_mm_to_pixel(self):
+        self.assertEqual(0, mm_to_pixel(0., 100))
+        self.assertEqual(200, mm_to_pixel(25.4, 200))
+        self.assertEqual(600, mm_to_pixel(2*25.4, 300))
+
     def test_main(self):
         source = 'test_image.png'
         dest = 'test_image_result.png'