こんにちわ~♪
今日はPILライブラリのImageというモジュールを使って2枚の画像を合成してみたいと思います(*^ω^*)/
使用するのは背景にするjpg画像とjpgに重ねる透過PNGです。
サイズは720×720です。(中途半端ですみません・・・。)
といわけで早速画像を合成してみましょう!
def onInput_onStart(self): import os,Image framemanager = ALProxy("ALFrameManager") path = os.path.join(framemanager.getBehaviorPath(self.behaviorId),"../html/img/") writepath = path + "temp.png" bg = path + "logo.jpg" pepper = path + "pepper.png" imgB = Image.open(bg) imgP = Image.open(pepper) self.logger.info(str(imgP)) self.logger.info(str(imgB)) imgB.paste(imgP, (0,0), imgP) self.logger.info(str(imgB)) imgB.save(writepath) self.onStopped()
以上で合成は完了です♪
このソースは、プロジェクト直下にhtmlフォルダを作成して、その中にimgフォルダを作りimgフォルダの中に画像を用意する前提で書いてます。
Image.open()で引数にしたpathの画像を読み込んでます。
以下の2枚ですね。
imgB.paste(imgP, (0,0), imgP)で実際にimgBの画像にimgPを0,0の座標から合成してます。
今回の合成結果がこんな感じです。
で、imgB.save(writepath)でimgBの画像をwritepathに格納してあるpathにtemp.pngとして書き出してます。
ざっくり説明するとこんな感じですね♪
というわけで、後はみなさんでご自由にどうぞっw(*^ω^*)/バイバイ
福岡でロボット開発といえば、株式会社システムトランジスタ(通称シストラ)ロボティクス部d^ω^bからのお知らせでした。