Python で QPixmap を使用する方法
QPixmap は主に描画に使用され、画像表示に最適化されています。QImage は主に画像 I/O、画像アクセス、ピクセル変更のために設計されています。ただし、QPixmap を使用して大きな画像をロードすると、大量のメモリを消費するため、小さな画像のロードに適しています。数十 K の画像は、ロード後に何度も拡大されます。
画像が大きすぎる場合は、QImage を使用して画像をロードし、ユーザー描画用に QPixmap に変換することができます。QPixmap の描画効果は最高です。
1. QPixmap を使用して画像を表示する
void Dialog::paintEvent(QPaintEvent *) { QPainter painter(this); QPixmap pix; pix.load(“D:/1.jpg”); painter.drawPixmap(0,0,50,50,pix); //在(0,0)点起始的宽高均为50的句型中显示图片 painter.translate(50,50); //将起始点改为(50,50) painter.drawPixmap(0,0,50,50,pix); //在(50,50)起始的宽高为50的矩形中显示图片 }
2. QPixmap を使用して画像のスケーリングを実現する
QPixmap クラスのscaled() 関数を使用して拡大または縮小できます。画像。この関数は、指定されたモードに基づいて、指定された幅と高さになるように拡大縮小された四角形のサイズを返します。
void Dialog::paintEvent(QPaintEvent *) { QPainter painter(this); QPixmap pix; pix.load(“D:/1.jpg”); painter.drawPixmap(0,0,50,50,pix); //在(0,0)点起始的宽高均为50的句型中显示图片 qreal wid = pix.width(); //获取图像的宽高 qreal hei = pix.height(); pix = pix.scaled(wid*2,hei*2,Qt::KeepAspectRatio);//将图片宽高扩大两倍,且在矩形内保持宽高比值 painter.drawPixmap(50,50,pix); }
3. QPixmap を使用して画像の回転を実現します
QPainter クラスのrotate() 関数を使用して画像の回転を実現できますデフォルトでは原点を中心にして回転します。
void Dialog::paintEvent(QPaintEvent *) { QPainter painter(this); QPixmap pix; pix.load(“D:/1.jpg”); painter.translate(50,50); //将旋转中心改为(50,50) painter.rotate(90); //顺时针旋转90度 painter.translate(-50,-50); painter.drawPixmap(0,0,50,50,pix); }
目的の効果を得るには、最初に回転の中心を変更し、次に再度回転してから原点に戻す必要があります。
4. QPixmap を使用して画像の歪みを実現する
QPainter クラスの shear(qreal sh, qreal sv) 関数を使用して画像の歪みを実現します。パラメータ 1 は水平方向の変形を実現し、パラメータ 2 は縦方向の変形を実現します。値が 0 の場合、歪みがないことを意味します。
画像形状の変化は、座標系の変化によって実現されます。
rree以上がPython で QPixmap を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

Pythonパラメーター注釈の代替使用Pythonプログラミングでは、パラメーターアノテーションは、開発者が機能をよりよく理解して使用するのに役立つ非常に便利な機能です...

Pythonクロスプラットフォームデスクトップアプリケーション開発ライブラリの選択多くのPython開発者は、WindowsシステムとLinuxシステムの両方で実行できるデスクトップアプリケーションを開発したいと考えています...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

Pythonスクリプトは、特定の場所のカーソル位置への出力をどのようにクリアしますか? Pythonスクリプトを書くときは、以前の出力をカーソル位置にクリアするのが一般的です...

なぜ私のコードはAPIによってデータを返しているのですか?プログラミングでは、APIが呼び出すときにヌル値を返すという問題に遭遇することがよくあります。

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...
