[2222] 画像の垂直(水平)反転処理の方法

投稿日 2018/09/06(Thu) 23:19:22
投稿者 アーク info_nds-laboあっとまーくexcite.co.jp
参照先

お世話になります。アークです。

No.2220の質問が一応自己解決したので、
それを実際に使ってみました。

キャンバス部品には回転させる機能は有るのですが、
反転機能が内容でしたので自己流で遣ってみました。
-------------------------------------------------------
画像加工機を表示する
待機する

画像加工機とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    //貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
  //自動生成された手順です。ここにプログラムを書き加えても消える場合があります
  この背景色を「灰」に変える
  この内部領域大きさを{500,524}に変える
  この種類を「ダイアログ」に変える
  この最大化ボタンを×に変える
  この最小化ボタンを×に変える
  この初期位置を「中央」に変える
  この内容を「フリップ テスト」に変える
  メニュー1というメニューを作る
    その位置と大きさを{0,0,500,24}に変える
    その内容を「メニュー1」に変える
    その移動順を3に変える
    その背景色を「白」に変える
    ファイルメニューというメニュー項目をメニュー1へ追加する
      その表示を○に変える
      その内容を「ファイル」に変える
      処理開始というメニュー項目をメニュー1のファイルメニューへ追加する
        その内容を「反転する...」に変える
      終了というメニュー項目をメニュー1のファイルメニューへ追加する
        その内容を「終了」に変える
  キャンバス1というキャンバスを作る
    その位置と大きさを{0,25,500,500}に変える
終わり

  閉じる時の手順
    終了する
  終わり

  処理開始がクリックされた時の手順
    反転する
  終わり

  終了がクリックされた時の手順
    閉じる
  終わり
  
  反転する時の手順
    画像(「[プログラムの位置]Sample.png」)を作って、画像データとする
    画素配列は、{}
    列画素配列は、{}
    列番号を0から増やしながら499まで繰り返す
      行番号を0から増やしながら499まで繰り返す
        マウス座標を{列番号, 499-行番号}に変える
        色素情報は、画像データにてマウス座標から色を取得したもの
        列画素配列へ色素情報を追加する
      繰り返し終わり
      画素配列へ列画素配列を追加する
      列画素配列は、{}
    繰り返し終わり

    行番号を1から増やしながら500まで繰り返す
      列番号を1から増やしながら500まで繰り返す
        色素情報は、画素配列(列番号, 行番号)の内容
        図形描画によって、キャンバス1の{列番号, 行番号}へ点を「[色素情報]」色で描く
      繰り返し終わり
      0.1秒待つ
    繰り返し終わり
    警告音を鳴らす
  終わり

終わり
-------------------------------------------------------------------

最初の二重ループで画像の色情報を天地反転して置いて、
次の二重ループで描き直しています。
一応、垂直反転した画像が得られましたが処理に数分掛かりました。
また、輝度情報が無いのか白っちゃけてしまいました。

この様な目的の為にはどのような処理が相応しいのでしょうか。


関連一覧ツリー

をクリックするとツリーを一括表示します)

返信フォーム

(この投稿に返信する場合は下記フォームから投稿して下さい)
(1MBまで)
(英数字で8文字以内)

- 投稿修正/削除フォーム -
処理 No パスワード

▲ページの先頭へ

- WebForum -