-1

586x428の.pngがいくつかあります。512x512の.pngに変換する必要があります。画像をまったく引き伸ばさずにこれを実行したいと思います。したがって、基本的には、幅を512に縮小してから、元の画像の上下両方の高さに同じ量の透明度を追加します。

したがって、最終的な製品は、512 x 512の.pngであり、上下の高さが69pxで、画像の「色付き」部分は512x374のままになります。

PythonImagingLibraryでこれを実行しようとしています。私はこれにかなり慣れていないので、誰かがこれを手伝ってくれるなら、それは大いにありがたいです。

4

2 に答える 2

3
from PIL import Image

def adjust(image):
    image = image.convert('RGBA')
    width, height = image.size
    new_width = 512
    new_height = new_width * height // width
    image = image.resize((new_width, new_height), resample=Image.ANTIALIAS)
    new_image = Image.new('RGBA', (512, 512), (0, 0, 0, 0))
    upper = (512 - image.size[1]) // 2
    new_image.paste(image, (0, upper))
    return new_image
于 2012-09-07T01:33:55.833 に答える
2

了解しました。質問を投稿してから2時間経ちました。あなたはコードを投稿しておらず、誰も回答を投稿していないので、これがあなたを始めるための何かです:

  1. ソース画像をロードする
  2. ソース画像のサイズを512x534に変更します
  3. サイズ512x512の新しい画像を作成します
  4. サイズ変更されたピクセルを、角が(0, 69, 512, 441)
  5. 次の2つの長方形を透明 (0,0,512,69)にして(0,441,512,512)

それがあなたが始めるのを助けることを願っています

于 2012-09-06T23:38:51.620 に答える