Pythonで画像にボックスシャドウを付ける
I wrote: 2016/10/31
Pythonで画像にボックスシャドウを付けます。もちろんPyQtを使うよ。
PyQtは簡単にGUI開発ができるのでいいですね(*´ω`*)
ボックスシャドウつまりCSSで使われるbox-shadowのことです。
ボックスシャドウを実現するために、QGraphicsDropShadowEffectを使います。
いかにも画像に影を付ける画像処理ですよって感じなアルファベットですね。
それと、画像の読み込みにはQPixmapを使っています。
以下はソース。
Pythonで画像にボックスシャドウを付けます。もちろんPyQtを使うよ。
PyQtは簡単にGUI開発ができるのでいいですね(*´ω`*)
ボックスシャドウつまりCSSで使われるbox-shadowのことです。
ボックスシャドウを実現するために、QGraphicsDropShadowEffectを使います。
いかにも画像に影を付ける画像処理ですよって感じなアルファベットですね。
それと、画像の読み込みにはQPixmapを使っています。
以下はソース。
import sys from PyQt4 import QtGui, QtCore, uic from Foo import Ui_MainWindow class Sample(QtGui.QMainWindow): def __init__(self, parent = None): super(Sample, self).__init__(parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) view = QtGui.QGraphicsView(self) view.setGeometry(0, 0, 400, 320) scene = QtGui.QGraphicsScene() item = QtGui.QGraphicsPixmapItem(QtGui.QPixmap('./sample01.jpg')) effect = QtGui.QGraphicsDropShadowEffect() effect.setColor(QtCore.Qt.black) effect.setOffset(4,4) effect.setBlurRadius(40) item.setGraphicsEffect(effect) scene.addItem(item) view.setScene(scene) if __name__ == '__main__': app = QtGui.QApplication(sys.argv) sample = Sample() sample.show() sys.exit(app.exec_())実行されたアプリケーション