DOBON.NETプログラミング道掲示板

■ 「新規作成」から投稿できます。
■ マルチポストされた投稿を見つけたときは、その投稿に返信することによりご報告ください。その際は匿名で投稿し、マルチポストされている場所を併記してください。
■ スパム対策のため、メールアドレスの先頭に"_"という文字が付加されています。
RSS 2.0 RSS 2.0 | RSS 0.91 | 携帯電話用 | 自分専用のアイコンを使用するには | 掲示板への要望 | 管理人に連絡 | お気楽掲示板
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
Nomal作成した白黒画像をWordに貼り付けてから「図として保存」(8) | NomalVB.NetでVB6.0と同じFontを指定しても同様に印刷されない(9) | NomalDataGridViewの複数行選択で歯抜け選択を無効にしたい(2) | Nomal証券会社へのログイン(1) | Nomalユーザーフォームに埋め込んだAutoCADの変化を捉える(0) | Nomalシステムドライブ以外へのページング設定が反映されない(5) | Nomalブラウザでコピーした透過PNGを貼り付けたい(4) | Nomalforeachでループ回数を取得(2) | Nomalbitmapが保存できない(2) | Nomal特定ピクセルで画像を読み込みたい(2) | NomalDataGridViewでAlt+Enterで改行したい(2) | Nomal全角シフト中にアクセスキーが効かない(5) | NomalDataAdapter.Updateで構文エラー(6) | Nomal抽象クラスで実装したクラスの情報を知る(3) | Nomal画面遷移(モーダルとモードレス)(2) | NomalProcessクラスからbatファイル実行後、KILLできない(2) | NomalGetDirectoriesでルートを指定するとエラーになる(3) | Nomal兆億万表記の文字列を数値に変換できる?(3) | NomalLinqにおける明示的型指定の方法(3) | Nomal2つのradの数値から1つの角度を求めるコードを改善できますか?(C++)(2) | Nomalコンソールアプリで、WebView2の利用(2) | NomalEntity Frameworkは、使えるか?(2) | Nomalデータベースからのテーブル名一覧の効率的な取得方法(3) | NomalC#のlong型でオーバーフローになる(2) | Nomal正規表現のパターン表記方法(2) | NomalWebView2によるスクレ―ピング(4) | Nomalこういた物を作れますか?(2) | Nomalツールボックスにtableadapterが表示されない(1) | NomalC# Chart X軸上のグラフ表示(3) | NomalVB.NETでBluetoothデバイスの電池残量を取得する方法(3) | Nomalクリスタルレポート 明細部のサブレポート(0) | Nomal重なったPictureBox同士を透過する方法(7) | NomalWindowsフォームデザイナについて(3) | Nomalvb.netでExcelファイル操作(7) | NomalVB.NETからcmdでpingを実行した時の結果(5) | Nomalvb.netでのExcelファイルそうさ(2) | Nomalキーボード+バーコードでキーボード入力を無効にしたい(6) | NomalVB2022でクリスタルレポートが開けない(2) | Nomalファイルとして配置したマニフェストを優先したい(2) | NomalTabPageの背景色(5) | NomalC#でJpeg圧縮のTiffファイルを作成したい(4) | Nomalエクセルのみ監視ができない(2) | NomalDataGridViewのVirtualModeを有効した場合の実装方法(4) | NomalExcelの数値 -> 日付みたいな関数?(2) | Nomaljumbo icon(256x256)が存在するか知る方法(6) | NomalDrawstringでの透過文字作成(3) | NomalSpinWait()を使う理由(2) | Nomalantecedentってなんですか?(2) | Nomalワンタイムパスワードのサイトに自動ログインしてアクセストークンを得る(3) | Nomalstyle.displayだと効率悪いから違うやり方をしたいです。(5) | Nomalテーブルを順番通りに直すプログラムを外部で読み込めるようにしたいです。(4) | NomalJSONの複雑な入れ子内部の値を取りたい。(3) | Nomalグリッド表示レコードをJSONに変換(5) | Nomalシステム時計の設定(3) | NomalSeleniumで開いているページのTableを編集したい(5) | Nomalソケット通信入門 ひらがな(4) | NomalVisual Basicでエラーが出る(3) | Nomalインストーラにて、ローミングフォルダにファイルを配置したい(0) | NomalRGB値の所得(2) | Nomal時間変数(文字列)の扱い(4) | NomalVB.net からAccessDBへの接続(2) | Nomal画像のスクロール(6) | Nomalタイマーの一括処理(6) | NomalTreeViewとDataGridViewのスクロールを同期(シンクロ)させたい(4) | NomalTreeViewの現在位置とDataGridViewの現在位置を合わせたい(7) | NomalPictureBoxの画像を連続保存(11) | NomalDataGridViewの特定セルにボタンを配置する方法(5) | Nomalフォームのリサイズ時にDataGridViewが再描画されない(4) | NomalテキストボックスのValidatingイベントよりも先に発生するボタン発生イベントは何でしょう?(2) | NomalPDFをフォーム上で表示させる方法につきまして(4) | NomalDataGridViewの行ヘッダーに行番号を表示した時のエラー(4) | Nomal継承元フォームで各フォームのボタン動作を検知したい(3) | Nomalラジオボタンの一括設定(7) | NomalWindowsエクスプローラからのドラッグ&ドロップ(2) | NomalRichTextBoxのテキストをpictureBOXへ(12) | Nomalクリックイベントでexeを作成できるか(2) | Nomalアセンブリ情報が載らない(1) | Nomal先頭に空白(スペース)があるファイルを読み込んでRichTextBoxへ書き出すとスペースが削除える(6) | Nomalc#で日付型の定義の仕方で質問があります。(2) | NomalExcel Com オブジェクトの増殖(13) | Nomal二次元マップから値の取得(1) | NomalアプリでHDMIへ出す解像度を変えたい(4) | Nomal列車の時間ごとの位置情報を表示したいです。(2) | Nomal画像の中心を基点に回転(4) | NomalDataGridViewのドロップダウンリストの表示と選択後の値を分けたい(1) | NomalタッチキーボードでIMEを自動で切替えたい(6) | NomalVSTOによるエクセルアドインのインストーラーでのアップデート(1) | NomalMP4動画を再生する方法について(5) | NomalUrlにアクセスするとダウンロードされるファイルを捕まえる(2) | NomalLableのカラー色を文字変数から変更したい(5) | NomalLabelで文字単位の背景色(7) | NomalTEXTBOXのプロパティを文字列に(7) | Nomalタブレット等でスワイプによるスクロールを実装(2) | NomalPDFをフォーム上で表示させる方法につきまして(6) | NomalChart X軸上の描画を切り替えたい(0) | NomalRichTextBoxへのドラッグ&ドロップしたExcelファイルの扱い(3) | Nomal特定のPCだけ発生する「パディングは無効なので削除できません」のエラーの原因(6) | NomalASP.NET WebApi内でXmlReader.Create(url)がタイムアウトする(4) | NomalDatagridViewでファンクションキーを止めたい(5) | Nomal表示動作が重くなる(3) |



■記事リスト / ▼下のスレッド
■35236 / 親記事)  二次元マップから値の取得
□投稿者/ LLCOOLJ 一般人(1回)-(2022/11/16(Wed) 14:40:05)
  • アイコン環境/言語:[vb.net] 
    分類:[.NET] 

    x,y軸からなる2次元マップから値を読み込む関数を作成し、クラス化して

    プログラムの中で利用したいと考えてます。

    どのようなコードを記述すれば良いでしょうか?

    良いサンプルコードがあればご紹介お願いします
違反を報告
引用返信

▽[全レス1件(ResNo.1-1 表示)]
■35240 / ResNo.1)  Re[1]: 二次元マップから値の取得
□投稿者/ Azulean 大御所(535回)-(2022/11/16(Wed) 21:07:48)
  • アイコンNo35236に返信(LLCOOLJさんの記事)
    > x,y軸からなる2次元マップから値を読み込む関数を作成し、クラス化して
    > プログラムの中で利用したいと考えてます。
    > どのようなコードを記述すれば良いでしょうか?

    それだけであれば、クラスを書かなくても、二次元配列にすれば良いのでは…?となってしまいます。
    まずは、「VB.NET 2次元配列」で探して学んでみてください。


    これでは足りないと考えられる場合、要件を自分の中でもっと具体的に、箇条書きなどに整理するところから始めてください。


    ' ついでに「書き込みのルールについて」も改めてご確認ください。
    https://dobon.net/vb/bbs/index.html#irresponsible
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-1]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35233 / 親記事)  アプリでHDMIへ出す解像度を変えたい
□投稿者/ ま〜 一般人(20回)-(2022/11/15(Tue) 18:39:07)
  • アイコン環境/言語:[Windows10 Basic VS2022] 
    分類:[.NET] 

    こんばんわ
    解像度320,160のLEDモニタがあるのですがここに表示する為に作成した文字や画像が実際にどんな感じに表示されるか見たいが目標です。

    特定フォームを開いた時にPCから出力される解像度を一時的に640,480位まで下げ、そのフォームを閉じたときに元の解像度(1920,1080)に戻したいのですがこんな事が出来るのか?不明ですが宜しくお願いします。

違反を報告
引用返信

▽[全レス4件(ResNo.1-4 表示)]
■35235 / ResNo.1)  Re[1]: アプリでHDMIへ出す解像度を変えたい
□投稿者/ 魔界の仮面弁士 大御所(1481回)-(2022/11/15(Tue) 19:21:43)
  • アイコンNo35233に返信(ま〜さんの記事)
    > 解像度を一時的に640,480位まで下げ、そのフォームを閉じたときに
    > 元の解像度(1920,1080)に戻したいのですが

    その LED モニタの仕様が良くわからないので、外しているかもしれませんが…。


    画面キャプチャーを撮って、それを 640x480 に縮小して表示したい、
    という話で良いでしょうか。それとも、Windows の画面解像度を
    一時的に変更したいという話でしょうか。

    前者であれば、
    https://dobon.net/vb/dotnet/graphics/screencapture.html
    https://dobon.net/vb/dotnet/graphics/invokepaint.html
    などで画面を撮影し、
    https://dobon.net/vb/dotnet/graphics/drawimage.html#scaling
    https://dobon.net/vb/dotnet/graphics/interpolationmode.html
    で縮小するという方法が使えます。


    後者であれば、Windows 7 などといった古い OS であれば、
    exe ファイルのショートカットを作成し、プロパティの[互換性]タブにて
     設定:640 x 480 の解像度で実行する
    にチェックを入れて起動すれば良いと思います。

    ただし、この互換性機能は現行 OS では使えません。
    Windows 10 の最小システム要件が『800 x 600』となっているため
    「640x480」に設定することができないためです。同様に、Windows 11 は
    720p ディスプレイすなわち「1280x720」以上がシステム要件です。
違反を報告
引用返信
■35237 / ResNo.2)  Re[2]: アプリでHDMIへ出す解像度を変えたい
□投稿者/ ま〜 一般人(21回)-(2022/11/16(Wed) 15:17:35)
  • アイコンいつもありがとうございます

    320:160サイズのRichTextBoxに書いてる文字が小さすぎて見にくいのでFontDATAをいじらないで文字を拡大表示させたい
    そこで解像度の切替かMouseホールでRichTextBoxの内容を拡大表示みたいな事が出来ないかとの発想です。
    ホイールの方は倍率の設定が難しそうなので解像度の変更と考えた次第です
    確認用なので実際にLEDモニタは接続せず今使っているモニタ出力信号をハード的に解像度(HDMIに出す解像度)を変更したいです。

    でもアドバイスにありました画像でやれば簡単そうに思えたのでやって見ました所
    https://dobon.net/vb/dotnet/graphics/drawimage.html#scaling
    の bmp.Save("C:\test\1.BMp")でコピペなので入力間違いはないと思いますがSaveで例外エラーとなります。

    以下はエラーの内容です。宜しくお願いします。

    System.Runtime.InteropServices.ExternalException
    HResult=0x80004005
    Message=GDI+ で汎用エラーが発生しました。
    Source=System.Drawing
    スタック トレース:
    場所 System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
    場所 System.Drawing.Image.Save(String filename, ImageFormat format)
    場所 System.Drawing.Image.Save(String filename)
    場所 勉強.文字編集Form.Button6_Click(Object sender, EventArgs e) (C:\Users\maeda\source\repos\勉強\文字編集Form.vb):行 818
    場所 System.Windows.Forms.Control.OnClick(EventArgs e)
    場所 System.Windows.Forms.Button.OnClick(EventArgs e)
    場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    場所 System.Windows.Forms.Control.WndProc(Message& m)
    場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
    場所 System.Windows.Forms.Button.WndProc(Message& m)
    場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    場所 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
    場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
    場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
    場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
    場所 勉強.My.MyApplication.Main(String[] Args) ():行 23



違反を報告
引用返信
■35238 / ResNo.3)  Re[3]: アプリでHDMIへ出す解像度を変えたい
□投稿者/ 魔界の仮面弁士 大御所(1482回)-(2022/11/16(Wed) 17:03:43)
  • アイコンNo35237に返信(ま〜さんの記事)
    > でもアドバイスにありました画像でやれば簡単そうに思えたのでやって見ました所
    > https://dobon.net/vb/dotnet/graphics/drawimage.html#scaling
    > の bmp.Save("C:\test\1.BMp")でコピペなので入力間違いはないと思いますがSaveで例外エラーとなります。

    その URL には、コピペしたという「bmp.Save」という文字列は見当たらないのですが…?

    ・C:\test\ フォルダーが存在し、書き込み可能になっていますか?
    ・C:\test\ の下に、"1.BMp" というファイルやフォルダーが無い状態になっていますか?
    ・もしも C:\test\1.BMp が既に存在する場合、そのファイルが Image.FromFile 等で開かれた状態になっていませんか?
違反を報告
引用返信
■35239 / ResNo.4)  Re[4]: アプリでHDMIへ出す解像度を変えたい
□投稿者/ ま〜 一般人(22回)-(2022/11/16(Wed) 18:20:19)
  • アイコンありがとうございます。
    スクショの保存できました

    URLはhttps://dobon.net/vb/dotnet/graphics/invokepaint.html
    が正解です。
    Saveの方はフィルダが無かったです。気にも留めなかったです。
    申し訳ないです。以後気を付けます。

    問題はスクショなので全画面でした。当たり前ですが。。。
    なのでRichTextBoxを選択してPictureBoxへ転送して画像化。
    記事を参考にトライしてみます

    解像度の切替が難しそうなので画像にして拡大表示にしてみます。
    取りあえず目的が変わってしまったのでクロースします。
    ありがとうございました。


解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-4]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35224 / 親記事)  列車の時間ごとの位置情報を表示したいです。
□投稿者/ 福ちゃん 一般人(1回)-(2022/11/12(Sat) 18:49:31)
  • アイコン環境/言語:[windows10,javascript,html5] 
    分類:[その他] 

    こちら、列車の走行位置のプログラムを作っています。
    そこで気になるのが、日付ごとに、ダイヤを変更することは不可能かということです。
    例えば、2022年の例ですと、1月1〜3日は、Aダイヤで運行し、1月10日は、Bダイヤ、一般の日はCダイヤというように、
    3パターンのダイヤパターンを作りたいのですが、
    現状のflagで、やろうとしたところ、これが要するにonとoffの切り替えしかできず、
    すなわち、AかBかというのしか作れないのです。
    つまり、flagに代わる新たなパターンを作りたいのです。
    自分は触り程度しかjavascriptが扱えません。
    省略なしにご教授いただければ幸いです。
    参照元はこちらです。
    http://r113.web.fc2.com/p/viewer/oc-port/index.html
    以下はおおもとのソースです。
    <code>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!-- saved from url=(0051)http://r113.web.fc2.com/p/viewer/oc-port/index.html -->
    <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <meta http-equiv="Content-Style-Type" content="text/css">
    <meta http-equiv="Content-Script-Type" content="text/javascript">
    <meta name="author" content="">
    <meta name="description" content="">
    <meta name="keywords" content="">
    <title>大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア</title>

    <!--スタイルシート-->
    <link rel="stylesheet" href="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/style.css" type="text/css">

    <!--JavaScript-->
    <script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/main.js.ダウンロード" charset="UTF-8"></script>
    <script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/diaTypeJudge.js.ダウンロード" charset="UTF-8"></script>

    <script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/dia-20130323.js.ダウンロード" charset="UTF-8"></script>
    <script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/meta.js.ダウンロード" charset="UTF-8"></script>
    <script type="text/javascript" src="./大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 列車在線ビューア_files/track.js.ダウンロード" charset="UTF-8"></script>


    <script type="text/javascript">
    </script>

    <style type="text/css">
    </style>

    </head>

    <body onresize="setDisplayArea()">
    この間省略
    &gt; 大阪市営地下鉄 ニュートラム(南港ポートタウン線) (コスモスクエア?住之江公園) 2013年3月23日改正


    <!--JavaScript読み込み-->
    <script type="text/javascript">
    writeBasicHTMLSet();
    main();
    </script>以下略</code>
    <code>
    //平日ダイヤか土・休日ダイヤかを判定する
    function dayJudge(year, month, date, day)
    {
    //alert(year +" "+ month +" "+ date +" "+ day)
    //フラグ
    var weekdayFlag = true;

    //月?金なら立てる
    if(day >= 1 && day <= 5)
    weekdayFlag = day >= 1 && day <= 5;
      else if(day==6)
    weekdayFlag2 = day == 6
    else
    weekdayFlag = false;

    //祝日ならたおす
    if(year == 2013 && month == 1 && date == 1)
    weekdayFlag = false;
    この間省略
    else if(year == 2015 && month == 3 && date == 21)
    weekdayFlag = false;

    return weekdayFlag;
    }
    </code>
    後ちなみに、
    <code>
    function dayJudge(year, month, date, day)
    {
    //alert(year +" "+ month +" "+ date +" "+ day)</code>
    は、
    運行パターンにかかわると思われますが、
    flag形式をやめた場合、
    これは、存置のままでも可能ですか。
    それとも書き換える必要がありますか。
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■35225 / ResNo.1)  Re[1]: 列車の時間ごとの位置情報を表示したいです。
□投稿者/ Azulean 大御所(534回)-(2022/11/13(Sun) 14:28:12)
  • アイコン2022/11/13(Sun) 14:35:19 編集(投稿者)

    返信を書くかどうか悩みました。
    一度、"書き込みのルールについて" の "「安易な質問」とは?"、"丸投げした投稿" を読んでみてください。
    下記のあたりが危ういか、抵触しているかになっていると思います。

    > 自分は触り程度しかjavascriptが扱えません。
    > 省略なしにご教授いただければ幸いです。


    No35224に返信(福ちゃんさんの記事)
    > こちら、列車の走行位置のプログラムを作っています。

    参考サイトが作ろうとしているものか、それに近しいものですよね?

    それをコピペしていじるのは、作り出すというよりは改変・翻案といった話になっていくので、著作権の問題が出てきます。
    練習・習作の間は私的複製の範囲で収まるかもしれませんが、外部公開したら著作権侵害のトラブルになるのでご注意ください。


    > そこで気になるのが、日付ごとに、ダイヤを変更することは不可能かということです。
    (略)
    > すなわち、AかBかというのしか作れないのです。

    参考にされている大阪メトロ(旧大阪市交通局)は、平日ダイヤと、土・休日ダイヤしか存在せず、お盆であろうと年末年始であろうと土・休日ダイヤになるだけなので、2 択で十分となります。
    2 択で十分なのに、3 択以上のコードを書く必要はありませんので、参考サイトは bool の flag 管理で実現しているのでしょう。


    > つまり、flagに代わる新たなパターンを作りたいのです。
    > 自分は触り程度しかjavascriptが扱えません。

    「作る」とは「コピペしていじる」ではなく、「自分でアルゴリズムを考え、コードを書いて、デバッグ・修正して目的・目標を実現すること」ですので、「作りたい」のであれば学びを深めて自分で生み出しましょう。

    flag は 2 値分割ですので、任意の N 値分割をするためにはどういったデータ構造・制御構造にすべきかは、開発言語によらない、プログラミング(アルゴリズム)の世界の話です。
    それがうまく構築できるかどうかがまずあって、その後に開発言語・環境における実現方法に落とし込んでいくことになります。


    「javascript がさわりしかわからないのですべて教えて欲しい」は「依頼」です。
    「報酬をもらえる仕事」に値すると思いますので、本気であなたに合わせた教習を望むのなら、そういった対応をしてくれるサービスを探して、対価を払いましょう。


    ※時刻表のデータも勝手に利用するとダメとしている鉄道会社やデータ提供者もあるかもしれません。ご注意ください。
違反を報告
引用返信
■35232 / ResNo.2)  【報告】この投稿はマルチポストです
□投稿者/ (報告) 一般人(1回)-(2022/11/15(Tue) 18:04:07)
  • アイコンこの投稿はマルチポストです。もし元記事の投稿者にマルチポストの心当たりがない場合は、すぐに返信でお知らせください。

    ●マルチポストされている場所
    https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=5398

    ----------
    この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのルールについて」をお読みください。

    ●書き込みのルールについて
    https://dobon.net/vb/bbs/index.html
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35222 / 親記事)  画像の中心を基点に回転
□投稿者/ ま〜 一般人(16回)-(2022/11/11(Fri) 15:16:16)
  • アイコン環境/言語:[Vs2022 basic] 
    分類:[.NET] 

    こんにちは
    画像の回転に付いてですが中央を基点に5度単位で回転させたいのですが良い方法はないでしょうか?
    宜しくお願いします

違反を報告
引用返信

▽[全レス4件(ResNo.1-4 表示)]
■35223 / ResNo.1)  Re[1]: 画像の中心を基点に回転
□投稿者/ 魔界の仮面弁士 大御所(1477回)-(2022/11/11(Fri) 16:27:00)
  • アイコンNo35222に返信(ま〜さんの記事)
    > 中央を基点に5度単位で回転させたいのですが

    WPF の話なら、RenderTransformOrigin が (0.5, 0.5) の
    RenderTransform を使用して、Angle に 5 の倍数をセットすれば良いかと。

    <Image Source="/exmaple.jpg" RenderTransformOrigin=".5,.5">
    <Image.RenderTransform>
    <RotateTransform Angle="5" />
    </Image.RenderTransform>
    </Image>


    WinForm なら、Graphics クラスで DrawImage する前に、
    TranslateTransform と RotateTransform を指定する形です。
    https://dobon.net/vb/dotnet/graphics/transform.html#section1
    http://nonsoft.la.coocan.jp/SoftSample/CS.NET/SampleRotateBitmap.html
違反を報告
引用返信
■35228 / ResNo.2)  Re[2]: 画像の中心を基点に回転
□投稿者/ ま〜 一般人(17回)-(2022/11/14(Mon) 13:38:53)
  • アイコン魔界さんいつもありがとうございます

    数日前に参考にさせて頂きコピペして試行錯誤でやってみたのですがどうしても
    画像の中心が基点とならないので困ってます。と言うか分からないが。。。

    > TranslateTransform と RotateTransform を指定する形です。
    TranslateTransformは画像の左上の0,0を移動するみたいでここを基点に回転して5度づつ回転させると左上を基点に扇みたいになります(理解してないのかも?)

    希望は元の画像の中心を基点に回転させたい。

    > http://nonsoft.la.coocan.jp/SoftSample/CS.NET/SampleRotateBitmap.html
    を試しましたが
    Private Function RotateBitmap( _
    ByVal bmp As Bitmap, ByVal angle As Single, ByVal x As Integer, ByVal y As Integer) As Bitmap

    ByValの所で構文エラーとなってしまいます。
    解決策が分からないです。



違反を報告
引用返信
■35230 / ResNo.3)  Re[3]: 画像の中心を基点に回転
□投稿者/ 魔界の仮面弁士 大御所(1479回)-(2022/11/14(Mon) 18:58:36)
  • アイコンhttp://nonsoft.la.coocan.jp/SoftSample/CS.NET/SampleRotateBitmap.html
    ではなく
    http://nonsoft.la.coocan.jp/SoftSample/VB.NET/SampleRotateBitmap.html
    を紹介するべきでしたね。


    No35228に返信(ま〜さんの記事)
    > 魔界さんいつもありがとうございます
    https://twitter.com/Benshi_Orator/status/1580431600499961858


    >> TranslateTransform と RotateTransform を指定する形です。
    > TranslateTransformは画像の左上の0,0を移動するみたいでここを基点に回転して5度づつ回転させると左上を基点に扇みたいになります(理解してないのかも?)

    先に提示した URL で解説されているように
    まず、原点を (0,0) よりさらに左上(マイナス座標)にずらしてから、
    その後、RotateTransform で回転させてから、
    今度は右下方向(プラス座標)に復帰させたのち、
    DrawImage または DrawImageUnscaled で描画します。

    描画した後は座標系が回転したままなので、連続して描画する場合は
    GraphicsState を併用します(Save / Restore メソッド)。
    ※あるいは ResetTransform メソッド。


    なお、元のサンプルでは、「PictureBox の中心」で回転させていますので、
    「画像の中心」で回転させたい場合は
     RotateBitmap(org, ang, PictureBox1.Width \ 2, PictureBox1.Height \ 2)
    ではなく
     RotateBitmap(org, ang, org.Width \ 2, org.Height \ 2)
    とします。

    また、元画像の描画位置を左上以外(x2, y2)にしたい場合は、回転後の
     g.TranslateTransform(x, y, MatrixOrder.Append)
    の後に、さらに
     g.TranslateTransform(x2, y2, MatrixOrder.Append)
    を加えてから描画するようにします。



    > Private Function RotateBitmap( _
    > ByVal bmp As Bitmap, ByVal angle As Single, ByVal x As Integer, ByVal y As Integer) As Bitmap
    > ByValの所で構文エラーとなってしまいます。

    いやいや。
    せめて、どの ByVal が何という構文エラーになっているのかまで
    きちんと内容を示しましょうよ。

    Function を置く場所を、文法的に間違えているということはないですよね…?
    (Class や Module の外側に書こうとしているなど)
違反を報告
引用返信
■35231 / ResNo.4)  Re[4]: 画像の中心を基点に回転
□投稿者/ ま〜 一般人(19回)-(2022/11/15(Tue) 17:03:14)
  • アイコン感謝です。

    出来ました。

    亀速度で勉強中です。少しずつですが理解出来る様になってきました。道のりは長いですが。。。

    魔界さんのおかげです。
    ありがとうございます。
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-4]



■記事リスト / ▲上のスレッド
■35226 / 親記事)  DataGridViewのドロップダウンリストの表示と選択後の値を分けたい
□投稿者/ 炎の妖精さん 一般人(13回)-(2022/11/14(Mon) 09:39:20)
  • アイコン環境/言語:[Win10(64bit)_VB.NET(Framework 3.5)] 
    分類:[.NET] 

    いつもお世話になっております。

    表題の件について、
    Aのドロップダウンリストですが、
    「3桁(半角のみ):16桁(全角8桁)」という内容を表示させております。

    Aのドロップダウンリストを選択したら
    @には「3桁(半角のみ)」を表示させたいのですが、可能でしょうか?
323×96 => 250×74
イメージ
2022_11_14_09_22_01_.jpg
/7KB
違反を報告
引用返信

▽[全レス1件(ResNo.1-1 表示)]
■35227 / ResNo.1)  Re[1]: DataGridViewのドロップダウンリストの表示と選択後の値を分けたい
□投稿者/ 炎の妖精さん 一般人(14回)-(2022/11/14(Mon) 09:54:55)
  • アイコンすみません、自己解決しました。

    CellFormattingで
    左側3文字を指定すれば想定通りの結果となりました。
    解決とさせていただきます!
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-1]






Mode/  Pass/


- Child Tree -

2024/10/23(Wed) 17:39:26 に作成されたキャッシュを表示しています。
生のデータを表示する | キャッシュを最新にする