From 060a7dc2d263c0fd0e36e162943b8946df937bbd Mon Sep 17 00:00:00 2001
From: tassaron
Date: Mon, 7 Aug 2017 21:03:01 -0400
Subject: dropshadow option for Text component
---
src/components/text.py | 16 ++++++++++++++--
src/components/text.ui | 27 +++++++++++++++++++++++++++
2 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/src/components/text.py b/src/components/text.py
index f88f373..c50c812 100644
--- a/src/components/text.py
+++ b/src/components/text.py
@@ -1,4 +1,4 @@
-from PIL import Image, ImageDraw
+from PIL import ImageEnhance, ImageFilter, ImageChops
from PyQt5.QtGui import QColor, QFont
from PyQt5 import QtGui, QtCore, QtWidgets
import os
@@ -153,7 +153,19 @@ class Component(Component):
image.setFont(font)
image.setPen(self.textColor)
image.drawText(x, y, self.title)
- return image.finalize()
+
+ # turn QImage into Pillow frame
+ frame = image.finalize()
+ if self.shadow:
+ shadImg = ImageEnhance.Contrast(frame).enhance(0.0)
+ shadImg = shadImg.filter(ImageFilter.GaussianBlur(self.shadBlur))
+ shadImg = ImageChops.offset(shadImg, self.shadX, self.shadY)
+ shadImg.paste(frame, box=(0, 0), mask=frame)
+ frame = shadImg
+
+ return frame
+
+
def commandHelp(self):
print('Enter a string to use as centred white text:')
diff --git a/src/components/text.ui b/src/components/text.ui
index 5a7e831..13d3467 100644
--- a/src/components/text.ui
+++ b/src/components/text.ui
@@ -563,6 +563,15 @@
0
+
+ -1000
+
+
+ 1000
+
+
+ -4
+
-
@@ -573,6 +582,15 @@
0
+
+ -1000
+
+
+ 1000
+
+
+ 8
+
-
@@ -596,6 +614,15 @@
0
+
+ 99.000000000000000
+
+
+ 0.100000000000000
+
+
+ 5.000000000000000
+
-
--
cgit v1.2.3