質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

解決済

リストに追加するときの条件処理とその後の追加の仕方が分かりません

Shooo-8897
Shooo-8897

総合スコア0

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

3回答

0評価

0クリップ

287閲覧

投稿2021/06/24 16:16

前提・実現したいこと

点線より上の処理の処理をリストを用いてシンプルにしたいと考えています。
現在は、アルファブレンドを行う際の条件処理と、ブレンドしたものをどのようにリストに追加すればよいかで悩んでいます。何卒よろしくお願い致します。

発生している問題・エラーメッセージ

src3 = [] for i in src2: if i % 2 == 1: i.alpha_composite(i, i+1)#アルファブレンドを行う の部分で以下のエラーが生じています。 TypeError: unsupported operand type(s) for %: 'Image' and 'int'

該当のソースコード

python

from PIL import Image src1 = Image.open('img7.png') src2 = Image.open('img34.png') src1 = src1.convert('RGBA')#アルファブレンドで合成したい画像はRGBA src2 = src2.convert('RGBA') src1 = Image.alpha_composite(src1, src2)#アルファブレンドを行う src1.save('bom11.png') src3 = Image.open('img8.png') src4 = Image.open('img33.png') src3 = src3.convert('RGBA') src4 = src4.convert('RGBA') src3 = Image.alpha_composite(src3, src4) src3.save('bom12.png') src5 = Image.open('img9.png') src6 = Image.open('img32.png') src5 = src5.convert('RGBA') src6 = src6.convert('RGBA') src5 = Image.alpha_composite(src5, src6) src5.save('bom13.png') src7 = Image.open('img10.png') src8 = Image.open('img31.png') src7 = src7.convert('RGBA') src8 = src8.convert('RGBA') src7 = Image.alpha_composite(src7, src8) src7.save('bom14.png') ------------------------------------------------------------------------------------ from PIL import Image files = ['img7.png','img34.png','img8.png','img33.png','img9.png','img32.png','img10.png', 'img31.png'] src = [] for i in files: src.append(Image.open(i)) src2 = [] for i in src: src2.append(i.convert('RGBA')) src3 = [] for i in src2: if i % 2 == 0: i.alpha_composite(i, i+1)#アルファブレンドを行う src3[0].save('bom11.png') src3[1].save('bom12.png') src3[2].save('bom13.png') src3[3].save('bom14.png')

試したこと

[0]と[1]、[2]と[3]といったような組み合わせでブレンドを行いたいため、条件処理で偶数番目の時だけ次の画像とブレンドをするようにしてみたのですが上手くいきませんでした。
点線より上の処理を含め、現在エラーの生じている部分と最後の保存以外は実行できることを確認済みです。保存は、リストへの追加ができれば上手くいくかと思います。

補足情報(FW/ツールのバージョンなど)

PythonのPillowを使って製作するように指示が出ています。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。