1

ネイティブ解像度が 1280x720 のモニターに一連の画像をプレゼンテーション フルスクリーンとして表示しています。表示する必要がある画像は、変換する必要がないことを確認するために 1280x720px です。画像は高品質のjpgです。

画像を表面にブリットすると、画像が正しいサイズで表示され、画面がいっぱいになります。それは私が期待した通りです。

ただし、表示される画像は圧縮されているようです。圧縮は、約 80/100 の jpeg 圧縮のように見えます。それはほとんど問題ないように思えますが、これは問題のある領域につながり、ディスプレイにはっきりと表示されます。以下のコードは私が今持っているものです。PyGameのドキュメントには品質設定が実際には表示されていないので、それを行うために別の方法に移動する必要がないことを願っていますが、それは問題ありません...

pygame.display.set_mode((1280, 720))
# move mouse pointer off of the screen
pygame.mouse.set_pos((1280, 720))   
pygame.display.update()

# Get the image from disk (with or without convert() shows same result)
picture = pygame.image.load(image).convert()

# smoothscale suggested on stack overflow, but shows no difference.
picture = pygame.transform.smoothscale(picture, (1280, 720))

# Get the screen surface to display an image on and blit
main_surface = pygame.display.get_surface()
main_surface.blit(picture, (0, 0))
pygame.display.update()
4

2 に答える 2

0

実際の画像ファイルの種類が何であるか、コードからはわかりません。Pygame で説明できない出力が得られた場合、まず次のことを試します。

1) シェル (F5) ではなく、コマンド ラインからゲームを実行します。シェルは、独自の無限ループを持つ Tkinter から実行され、プログラムで望ましくない結果を引き起こす可能性があります。

2) ダブルクリックしてディレクトリからプログラムを実行します。

2) Photoshop 内で画像ファイルの種類を変更してみてください。私は通常、.png または jpeg を使用します。どちらを使用しているかに応じて、もう一方を試してみてください。

3) Photoshop で「Web として保存」を使用して手動でファイル サイズを縮小し、これが役立つかどうかを確認します。

4) 別の画像を使用して、すべての画像で発生するのか、この画像だけで発生するのかを確認します。

上記を提案する理由は、かなり似たコードを使用するため、代替ソリューションを探すためです.Pygameの機能は、フォーラムのユーザーによって報告されているため、非難されるべきではないと確信しています?

于 2012-10-23T08:57:50.157 に答える
0

簡単にするためにコードを書き直しました。

 #pygame code to render an image
 import pygame, os
 image = 'solution.jpg'  #located in same folder as this file:resized in Photoshop 
 pygame.init()  #I assume you did this?
 SCREEN = pygame.display.set_mode((1280, 720))
 pygame.mouse.set_pos((1280, 720))
 picture = pygame.image.load(image)
 SCREEN.blit(picture,(0,0))
 pygame.display.update()enter code here

これはうまくいきました:

1) pygame の更新は 2 つではなく 1 つだけです。get_surface() メソッドは使用しません。screen というサーフェスの変数を作成しました。

2) .jpeg の代わりに .png を試してみませんか?

3) 別の考え: 写真は 1280,720 にサイズ変更され、Photoshop 内で期待どおりに見えましたか?

4) ファイルの種類を試す

JPG
PNG
GIF (non animated)
BMP
PCX
TGA (uncompressed)
TIF
LBM (and PBM)
PBM (and PGM, PPM)
XPM

上記のすべてがサポートされています

上記のコードを写真でテストし、Photoshop でそれらのサイズを変更し、複数の画像を使用しても問題はありませんでした。他のすべてが失敗した場合は、最新の Pygame バージョンと OS に適したバージョンがあることを確認してください。

于 2012-10-26T16:19:52.280 に答える