]> _ Git - fluidbook-toolbox.git/commitdiff
wip #6300
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 28 Sep 2023 07:02:29 +0000 (09:02 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 28 Sep 2023 07:02:29 +0000 (09:02 +0200)
app/Models/QuizTheme.php
composer.lock

index 312248bdb410d7f358a19a49b176488b2550e1b7..ba3cd72ed449d767a4657853fa016de169cb2516 100644 (file)
@@ -216,24 +216,18 @@ class QuizTheme extends ToolboxModel
 
         $theme->font = 'SourceSans';
 
-        $tmp = Files::tempnam() . '.jpg';
-        $blur = Files::tempnam() . '.jpg';
-
-        $resizer = new Resizer();
-        $resizer->loadImage($banner);
-        $resizer->resize(1200, 680, true, true);
-        $resizer->output('jpg', $tmp);
-        Imagemagick::blur($tmp, $blur);
-        $theme->addMediaToField('backgroundImage', $blur);
-
+        $avg = Imagemagick::getAverageColor($banner);
+        $distance = $avg->distance(new \Cubist\Util\Graphics\Color('#fff'));
+        $darken = $distance <= 20000000;
+
+        if ($darken) {
+            $tmp = Files::tempnam() . '.jpg';
+            Imagemagick::brightnessContrast($banner, $tmp, -20);
+            $banner = $tmp;
+        }
 
-        $blur = Files::tempnam() . '.jpg';
-        $resizer = new Resizer();
-        $resizer->loadImage($banner);
-        $resizer->resize(390, 844, true, true);
-        $resizer->output('jpg', $tmp);
-        Imagemagick::blur($tmp, $blur);
-        $theme->addMediaToField('backgroundImageMobile', $blur);
+        $theme->addMediaToField('backgroundImage', self::resizeAndBlur($banner, 1200, 680));
+        $theme->addMediaToField('backgroundImageMobile', self::resizeAndBlur($banner, 390, 844));
 
         $theme->backgroundCustomMobile = '1';
         $theme->backgroundSizeMobile = ThemeBackgroundSize::RATIO;
@@ -243,4 +237,22 @@ class QuizTheme extends ToolboxModel
         $theme->save();
         return $theme->id;
     }
+
+    protected static function resizeAndBlur($image, $width, $height)
+    {
+        $tmp = Files::tempnam() . '.jpg';
+        $blur = Files::tempnam() . '.jpg';
+
+        $resizer = new Resizer();
+        $resizer->loadImage($image);
+
+        $resizer->resize($width, $height, true, true);
+        $resizer->output('jpg', $tmp);
+
+
+        Imagemagick::blur($tmp, $blur);
+
+        unlink($tmp);
+        return $blur;
+    }
 }
index 927637ab4ebdaa655cf50c9c3dd6924379982f7e..e94d0da452e1fc2a6b9a9ed7dcdfc33c5345afd7 100644 (file)
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/cubist_util.git",
-                "reference": "bb497cd182cb0eea33f2d83d4bdae8a6b62a1e0b"
+                "reference": "48f8939f743124ba01d3a2ca3efaf5ece693568a"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-e86967.tar",
-                "reference": "bb497cd182cb0eea33f2d83d4bdae8a6b62a1e0b",
-                "shasum": "65bfe13dc8d44df28e15ac99047b7df58a87ccf4"
+                "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-09972a.tar",
+                "reference": "48f8939f743124ba01d3a2ca3efaf5ece693568a",
+                "shasum": "95d60cc6bf9cb59d9f6ae9471895a3a734a26e3f"
             },
             "require": {
                 "cubist/net": "dev-master",
                 }
             ],
             "description": "Utilities class",
-            "time": "2023-09-26T16:42:08+00:00"
+            "time": "2023-09-28T06:54:51+00:00"
         },
         {
             "name": "cviebrock/eloquent-sluggable",
         },
         {
             "name": "doctrine/deprecations",
-            "version": "v1.1.1",
+            "version": "1.1.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/deprecations.git",
-                "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3"
+                "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
-                "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
+                "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+                "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
                 "shasum": ""
             },
             "require": {
             "homepage": "https://www.doctrine-project.org/",
             "support": {
                 "issues": "https://github.com/doctrine/deprecations/issues",
-                "source": "https://github.com/doctrine/deprecations/tree/v1.1.1"
+                "source": "https://github.com/doctrine/deprecations/tree/1.1.2"
             },
-            "time": "2023-06-03T09:27:29+00:00"
+            "time": "2023-09-27T20:04:15+00:00"
         },
         {
             "name": "doctrine/event-manager",