📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の2版が非表示)
145行目: 145行目:
     return 0;
     return 0;
  }  
  }  
</syntaxhighlight>
<br>
==== 画像の回転 ====
以下の例では、QImageクラスを使用して、画像を回転している。<br>
<br>
<syntaxhighlight lang="c++">
#include <QApplication>
#include <QImage>
#include <QTransform>
#include <QFileDialog>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    // 画像を読み込む
    QImage image("input.jpg");
    if (image.isNull()) return -1;
    // 回転角度を指定 (例: 90度)
    double angle = 90.0;
    // QTransformクラスを使用して画像を回転
    QTransform transform;
    transform.rotate(angle);
    QImage rotatedImage = image.transformed(transform, Qt::SmoothTransformation);
    if (rotatedImage.isNull()) return -1;
    // 回転した画像を保存
    if (!rotatedImage.save("output.jpg")) return -1;
    return 0;
}
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>
627行目: 660行目:
<br><br>
<br><br>


== QGraphicsViewクラスを使用する ==
== QGraphicsViewクラスの使用 ==
画像を表示する機能を持っているウィジェットは無いため、ビュークラスを継承して派生クラスを作成する。<br>
画像を表示する機能を持っているウィジェットは無いため、ビュークラスを継承して派生クラスを作成する。<br>
(元々、<code>QGraphicsView</code>クラスは、<code>QGraphicsScene</code>クラスを表示するためのものである)<br>
(元々、<code>QGraphicsView</code>クラスは、<code>QGraphicsScene</code>クラスを表示するためのものである)<br>
711行目: 744行目:
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br>
 
==== 画像の拡大・縮小・移動 ====
== 画像の拡大・縮小・移動 ==
画像を表示する機能には、拡大・縮小、移動等の制御が必要になる場合が多い。<br>
画像を表示する機能には、拡大・縮小、移動等の制御が必要になる場合が多い。<br>
これらの機能を実装するには、<code>QTransform</code>クラスを使用する。<br>
これらの機能を実装するには、<code>QTransform</code>クラスを使用する。<br>
852行目: 884行目:
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br>
 
==== 画像のクリック位置の座標を逆算する ====
== 画像のクリック位置の座標を逆算する ==
画像上において、クリックする位置の座標を取得して、ピクセル値を取得する操作がある。<br>
画像上において、クリックする位置の座標を取得して、ピクセル値を取得する操作がある。<br>
<br>
<br>
895行目: 926行目:
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br>
 
==== 拡大・縮小時の画像の解像度を上げる ====
== 拡大・縮小時の画像の解像度を上げる ==
上記のセクション群では、画像を拡大・縮小する場合、画像の解像度はビューポートのサイズのままである。<br>
上記のセクション群では、画像を拡大・縮小する場合、画像の解像度はビューポートのサイズのままである。<br>
また、描画および再描画ごとに表示用の画像を作成しているため非効率である。<br>
また、描画および再描画ごとに表示用の画像を作成しているため非効率である。<br>
1,011行目: 1,041行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]