画像処理 15枚目 [転載禁止]©2ch.net
画像処理プログラミングについて質問、議論を行うスレッドです ・画像処理について素人同士で大激論 ・初学者の質問に対してやさしく(的を外れた)解答を与える ・その道の玄人も大歓迎 👤 @のθ=0ラジアンならAを満たすな ま、AIなんかに聞いたら、多分無限個の解を回答しそうだ θ=0,±180,±360,±540,いっぱいあるから AIがバグって自閉症なんかになっちゃたり や、この霊感の霊的的中確率は25%だがな。まFAKEだ BY 👤ランベルト星人www は地球のいかなるオブジェよりも 数学偏差値パワーは無限大倍ヤヴァイーーーーー x2 = x1 * POWER(SQRT(r),x1) ─@ の逆関数∧厳密でない解∧ランベルト関数は使用ない ま、それは、数値解析的な方法なら プロマネ🤡でも出来るぢゃないか 完成1版の中規模なPG改造だ 完成2版として緊急開発し、 現状の総合テストは中止という 方法もあろう。ま、その判断は、 プロマネの仕事だ。どうなるかは五分五分 by 👤 🤡プロマネは、そうだポクはプロマネだ(とういう設定) 総合テスト中止権限も、あるよな。、てか、 総合テストしてるうちに、完成1版の改造を、思いついた\(^o^)/ x2 = x1 * POWER(SQRT(r),x1) ─@の逆関数のロジックを ランベルト関数的なのは使わずやろっと 数値解析的な方法で、いいぢゃーーーん。 厳密解不要ぢゃーーーん。バグっていい、よくないぢゃーん。 by 🤡 るんるん、 プロマネよ。そのやり方。処理速度的にも 精度的にも、やや有利かつ、ロジックも見やすい ま、ランベルト関数がロジックから消えるのは 👤としては残念だが、 by 👤 🤡 プログラミングは楽しいな。完成第1版は近日中ぽぃーー 完成第2版が近日中完成。 ランベルト関数モドキのロジックも 無くなるけど、新たな関数モドキには、 コメント行には、「ランベルト関数トモギすらない関数」って入れておこう そうだ、ランベルト星人よ。項目名は変更するの面倒だし、 DIM www(★) as double はそのまま wwww すげー解りやすい項目名だぜ なお、コンデェーングルールには項目名wwwは禁止だ ∵プロマネの使用した項目名は使っては、いけない これでモジュードの独立性もバッチリ\(^o^)/ おれって、プロマネとしてもちょーーー天才 てか、総合テスト中止連絡しなきゃてか、 そのうち、直ぐ再開だけど 確率66.6% by 🤡 第2版の机上debug中にしては機嫌が微妙に良いプロマネ 🥳 90°ではエラー発見に失敗したけど、なんだよ 0°で、ln(r)がエラーってなった。 おまけに、ソースコードが丸見えだ。 これ絶対バグぢゃーーーん。そうだ これプロマネさーーーーん。水平スピン0°でエラー ま、水平スピン0°なら出力ファイルと入力ファイルは 同じにならなきゃいけないし、 ナイショで、手作業でコピーしようかなwww 🤡 テスターが元気だな。てかうるせーー こっちは、テストは中止てかPG修正で話かけるなーーー by 🥳は元気で🤡はやっぱり機嫌ワルイ 🥳 え、総合テスト中止かよ。バグ発見できなくてつまんないの てか、そういえば、総合テストとデバッグを平行してやるんだよな ま、いいのか。てか総合テスタとデバッグを交互にやってるぢゃーーーん by 🥳怒ってるのに楽しそう 🤡 入念に机上チェックしてもまだ修正てかブツブツ、ヤヴァイ てか、コメントで「ランベルトモドキ関数」とか記入したが これ気に食わん。てか、俺が記入したんだ。ブツブツ。てか 「y=x*√r^x の逆関数」が一番正解だ。ブツブツ きっとこの関数は、未来の地球の教科書に🤡関数 初等関数ぢゃない🤡関数って掲載される。ブツブツ てか、初等関数てなんだろ。エクセル関数なら少し知ってる ブツブツ てか、机上debugしてたんだな。ブツブツ by 🤡 👤ランベルト星人 どうやら、オレの透視投影というか、霊的透視で プロマネのPG修正は、終わったようだ。 タイプミスで文法エラーは一箇所か。 ま、静かにかつ、おれが昨夜テレパシーやって 精神的に安定させたからだぜ。ま、おそらく 自主的にプロマネが単体やりだすだろ。 透視投影してみるか。 by 👤てか脚本家😅 透視投影の意味理解してないのに使ってみた 🤡 単体順調 そうだ完成2版、ファイル名は*spin4 だ ま、おそらく、普通のデータ入れる限り、バグらんだろ てか、順調過ぎて眠いな。 完成1版はバグってるし、削除だな、 寝ぼけてると、バグってる版を残し、修正版を削除 えーーと、これは、ヤヴァイ てか、色々沢山、暫定版だらけ。ヤヴァイ もっとも、最新バグなし版えーと なんとかspin4が大切 総合テストは、明日にしよっと 今出来ないことは、今やる なんてウタに釣られてはダメージ 明日出来ることは、今やらない。 明日出来ることは、いつかやる。 てか、spin4 バツクアップ 直ぐに後でやろっと 寝ぼけてると、バッグ元と先、逆にしたらショックだから 後で直ぐやろーーーっと テストの脚本は明日やろーーーーと 🤡色々書き込んでる内に、極端な値(遠近効果というのに) 極端な値入れた テストデータのが完了した。 設計基準の3倍の値。一応PG作成時は設計基準内では バグらないようにコーティングするが設計基準を、大きく 超えると、想定外故に、結果の予測はできない たとえ、設計者やコーダでも、どうなるかは そこは面白い。ま、敢えて設計基準以外をハジクロジックは 意図的に入れてない。 ちなみに、画面用に、メモリは配列変数で、固定という 今のどきトーシローでもやらんコーティングなので メモリ破壊や、バカデカイファイルが出来ることは無い。 画像がバグるだけ。で今はそれ見てる。確かにバグったが なんかつまらんバグ方だ。芸術性は皆無。なるほどねって感じ てか、ま、変なデータ入れてバグだけだし、ソロソロフィックス バックアップ そうSPIN4 SPIN4 SPIN4 4 4 第2版はSPIN4 B 🤡 バックアップ前の儀式でしたーーーー >>435 も確か昔の🤡だ この頃は、水平回転をVBマクロでやったんだな。 マクロといっても、BASICプログラミング言語ぢゃないような やたら、図形のオブジェとかをグラフのに貼り付けたのに グラフをファイル出力するやつだ。 ま、色々、435前後、そのやり取りで右往左往してた自分がいるな EXCELの図形オブジェやグラフのを活用してXSPIN イロイロ、あって、最終的にボツって感じとした。 ま、ようやくその後のバージョンのSPIN4が出来た。 ま、実行速度は1/10の性能だが、品質は納得のできだ。 θ=0のテストしてみるか、ま、出力は入力とかなり同じの、はず そして、出力をPNG変換でちゃんと圧縮できるか確認だな 最初バージョンのは(2月頃)はマクロって感じのコードであり ときに、ディザとか余計なお世話なんだよな。 自作ツールは余計なことはやらないので1/10の性能でも ウレイ。 BY 🤡総合テスト前なのに、既に編集後記を書いてみた >>435 のコメント、準失敗作 となってる そんなコメントを入れたのか。自分にありがとう そう、435は準失敗作だ 今回のはバッチリだ。変なデータいれりゃバグ画像だが 普通に使う分にはいい。自作はいいもんだ。by 🤡 水平回転ゼロ度で、テストを再度やった 入力ファイルも出力ファイルも完全に同じに、見える さらに両者ともPNGに変換してみた、 モチロン、そのPNG同士も同じサイズだ。 当たり前ってか?、マー、これは偽色が発生してないエビデンス 435だと、時に、見た目はそっくりなのに、 ディザ拡散ノイズのようなのが出力ファイルに反映されるこどがある PNGの圧縮率は阻害される。 この様な事を気にするユーザは、余り居ないが自分以外に存在するのは確実 ニッチな要求として、入力の画像の使用数と出力の画像のそれは 同じにしてほしいというのもあろう。私もその一人。 自作ツールで対応するのは、そんな理由もある。 ちゃんと、この自作ツールは、その要件を満たしてると 予測される。素晴らしい(←自画自賛) 明日から、テストの脚本やって、 そしたら、今作成完了のツールを使って静止画を沢山作ろーーと この大量の画像は動画として、クルクルさせる。 その目的。ニッチなツールなのです。 🥳、ちょう天才テスターのポクのとこに テスト仕様書、届いぞ テスト再開うれしいデス、プログラムは 完成2版にバージョンはアップだ またバグるといいな。また楽しくなるぅぅ ───────────── テスト仕様書 ───────────── 変換前File名[✨✨✨ ] 変換後File名 水平(度) 遠近効果 [TEST01.bmp ] [0]° [2.0] [TEST02.bmp ] [90]° [2.0] [TEST03.bmp ] [30]° [15.0] ・テストコンセプト ヤヴァイデータ入力で、エラー誘発で ソース丸見えとなるか実験 なお、on error goto はgotoだから 🈲止∵カスタマー要件で仕方ない😵 ・テストケース 変換前File名は未入力にしたり とにかく、ヤバそうなデータ入力して ソース丸見え。やってみろーー ・補足:テスト結果報告、いつでも超OK by 🥳発達障害テスター にテスト書届く 入力ファイル指定がされてません ご指定の入力ファイルが見つかりません かよ。 ちぇっ、ちぇちぇちぇのちぇっー ファイルのチェック💥入れてる ちぇっ、 そういえば、前回バグったとき ソース丸見えになってたな 確か、 x3 = x3/pers y3 = y3/pers なんて、プログラムが丸見えだ てか、全然バグらないから、眠い 勤務中だけど寝ちゃえーーおやすみーー by 🥳発達障害テスター 👤ラベンダー星人だけどさ、ヤツ🥳サボってるな zzz寝てるぞ、テスト中なのにな。 きっとバグら無くて眠くなったのだろう。 そうだ、 👤 ランベルト星から、 Pers Pers てかperspective effect の日本語訳が 【遠近効果】 であることを テレパシーで🥳に送信トスル ビビビーーー 🥳 zzz.... なんか夢に変な文字が、青い文字が見える zzzzz... テストしてバグらせたいけど眠い zzzzzz.... よし、目かさめた。帰宅直前は なんか、冴えてくるぜ。下記要領でテスト ───────────── テスト仕様書 🥳作 ───────────── 変換前File名[TEST.bmp ] 変換後File名 水平(度) 遠近効果 [TEST01.bmp ] [30]° [0.0] [TEST02.bmp ] [30]° [=1E-10] [TEST03.bmp ] [30]° [=1E-100] ・テストコンセプト・事前予想 ロジック x3 = x3/pers でバグらせ、 ソース丸見えを実現しちゃうモノトスル てか、遠近効果ってExcelのセルぢゃん モチロン、=1E-100 って入力で、 ゼロ割もしくはオバーフローするハズ ・テスト結果 ソース丸見えは失敗 (;´д`)トホホ…でも TEST02.bmp、TEST03.bmpは 画像がバグってる。\(^o^)/ まぁ、TEST01.bmpは 「pers=1で処理します」コメントでて 正常に完了しやがった。 ちぇー少しつまんないのーーーーー ま、プロマネにこの結果報告しよっと ちゃんとテストしてる証拠として by 🥳 テスターはソコソコ出来るヤツだった 🤡の元に馬鹿テスターからバグ報告ゲット 、んーー遠近効果に1のマイナス100乗を入力か ま、それでも、オーバーフローしないのは 予想外だが、あの辺りのロジックの変数は、 型はdoubleにしてる。このオレの設計センスが バッチリのエヴイデンスてかバッチリを示唆してるノダロ ま、遠近効果は、0.5〜5及び未入力 を想定している 未入力は(意識しないコーティングで)ゼロとなる為 ゼロチェックいれ、1として計算してる また、ゼロ入力はそもそも、そんなのを入力するのが ヘンとみなし、考慮してない。これは仕様 ま、ゼロの場合も考慮したロジックは、実質 無限遠から無限大倍したアフィン変換的なものとなろう が、ワザワザそんなコードは追加するつもりなし てわけで、総合テスト終了\(^o^)/ このツールは、バッチリ品質だ。完了 ちゃんちゃん そうだ、気が向いたら、編集後記で 書き込むかもしれんが、とりあえず、 見事にxspinツール完了 \(^o^)/ by 🤡およびその他多数出演者 てかぼぼ全員同一人物∵超自作自演 プログラミングには「馴れ合い」」ができる要素がある 「誰かが作ったプログラム」が「自分の所でも動く」って共感できる部分だ これで世界でもっとも有名なのが「Hello World!」でいろんな言語で最初にやるコードの代名詞にまでなった 逆に初心者でも一目見て「動くはずないなこれ」って見えるものはただの落書きでしかない 泥団子作って「これおいしいよ」って見せられても食べる人がいないのと同じ 👤 >>718 の記述で「遠近効果に1のマイナス100乗を入力」 との記述あるな。「遠近効果に10のマイナス100乗を入力」だな 🤡 1E-100 って、1マイナス100乗だろ? 👤 ゲラゲラ、1マイナス100乗は、1だ。 🤡 あっいけなねぇ! 👤 で、あれ、言語はなんで実装した? 画像処理系だし定跡的にC++系か? 🤡 EXCEL VBAだ。UIの実装含めればコスト的には、有利 開発機はEXCEL付だからだ。 👤 プロマネらしい理由だな。てか必要条件をアピールし 、しかしそれは、十分条件でない。だろ? 🤡 褒めてくれてTHAN Q .HAHAHA. 👤 皮肉を言ったつもりはない。 4K静止画なら問題でそうだし、 てか、処理時間は、ヤヴァくないか 🤡 宣言の型は特に要注意だ。 てか、面倒だから、基本は、 全てDOUBLEで、例外的にLONG 但し、画像バッファ用のはBYTE宣言 時間は、1〜2min/File 開発機は約3年前ので性能は 普通。動画編集辛うじてイケるレベル ま、画像バッファ用は二つで合計 1200万byte固定でメモリ的には 問題ない。 👤 1〜2min/Fileか、あのツールは 最大20FILEを扱うから、最大約30min 手作業なら手際よくても3hで、 疲労も半端ないから、休息いれて 8h ま、VBAでも実用的か 🤡 ツールとして割り切れば極めて実用的 なお、8hとか3h❓正確な地球語なら ま、八人時間が参人時間に 生産コスト削減、そして、 疲労も激減だ。*\0/* 👤 地球人としては、やるな。THAN Q 🤡 3q very much 🥳 はーい。皆さん、お元気ですかーーー てか、地球人のネットサーフィンみてたら、JPG2BMPの ソースコードを閃きました。 こんな感じ JPGtoBMP '適当にユーザーフォームを作成し 'Imageオブジェクトを作成し 'フォーム名「ima」 'オブジェクト名「Image1」とすること Public PP, FF,NN As String Public LL As Long Sub JPGtoBMP() PP = ThisWorkbook.Path FF = PP&"\xxx.jpg" 'フルパス NN= PP&"\xxx.bmp" 'フルパス ima.Image1.Picture = LoadPicture(FF) SavePicture ima.Image1.Picture, NN 'ファイル名xxx.bmpでbmp形式で保存 End Sub '******* ま、机上もテストもマダだから、バグってると思うから 早く、テストしたいでーーーーす。 ていうか、JPG2BMP なんて意味ないけど、とにかく 早くJPG2BMPコーディングしよっーーーと 🤡 >>722 そのへんのネットに転がってるので 意味わからんが部分を、テキトーに削除したようコードだな てか、🥳よ、 Public LL As Long って不要ぢやねーー 削るなら、ちゃんと削りなさーーーい て訳で、いきなり、机上でbug発見だ。ぢゃーーネーーー 🥳 色々やったら、JPG2BMPは上手くいったぜ(^o^)v でも、BMP2JPGはダメだーーー ファイル名の拡張子はJPGなんだけど、ファイルサイズは BMPのままぢゃーーーん。 BMP2PNGも同様。VBAでやるのは、あきらめーーーる。 いつか出来ることは、今できる なんて歌があるが、 いつかまでも出来ない事は、今出来る訳ないし、 ヤーーーーメタ by 🥳 VBAで、BMP2PNG は難しいようだ VBAで、BMP2PNGが仮に実現できたなら 既存の色々な画像処理のVBAに BMP2PNGの機能を組み込めれるけど、 仕方ない、BMP2PNGは、パワーシエルだ 既存の色々な画像処理のVBAに パワーシエルは組み込めんだろう ま、何かつまらないな。仕方ない BY 🤡 🤡 BMP2PNGは、パワーシエルで作成した PNGは24BITつうか、24bpp(入力のbmpが24bppの時) になるが、 そのPNGは24BITのやつをペイントで開いて PNGで保存したら32BITなりやがった。 ま、チョイファイルサイズが増えるだけだし キニシナイ。のが一番 🤡 ま、なんだな。自作画像処理、とくに 動画系統がらみの、沢山の静止画を生成させるにあたり、 とにかく、以下のお絵描きのようなグラフの 関数を自作したくなる。 時間=0 で超ゆっくり 時間=0.25 では、加速度は、マックス 時間=0.5 では、速度は、 マックス 時間=0.75 では、加速度は、その絶対値は、マックス 時間=0 では、チョーゆっくりで、時間が止まる、 いや、違う、移動量が止まる だ。 こら!地球人のアインシ○タインよ、 光速で移動すると、【時間が止まる】 とか言ってるけど 時間が止まるんじゃなくて、【移動量】が止まる。だろ てか、相対○論ってデマぢゃねぇーーーー❓ 👤 んー?、静止の観測者から、光速で移動してるハズの物体を 観測すりゃ、移動量も時間も止まってるけど、 静止の観測者の時計⌚は、時間は動いてるんぢゃねー? てか、オレは、如何なる地球人の宇宙物理学の偏差値よりも ∞倍優秀な、ランベルト星人だって設定でいいよな 😅 はい、ランベルト星人は、如何なる学問も如何なる地球人より 無限大倍優秀なので、モチロン、地球の物理学と異なることも あるので、地球人の、みんな、ランベルト星人の言動には 注意してね、(・_・;) 👤から🤡へ、 >>728 のコンセプトを満たす数式は、二次関数的だが t>0.5とt≦0.5で、数式が変化しそうだし、やはりここは 数式一発で決めたい。arctan いやcosカーブでいいだろう 728のコンセプトとは微妙に異なるが、 728のコンセプトとは微妙しか異ならない、コサインcos関数だな との、霊的テレパシーを、プロマネに今、テレパシーした。 プロマネ(自称)のオレ🤡ッち、なんか幻聴が聴こえた。 声は、ランベルト👤星人の声だから、 きっとランベルト👤星人のテレパシーだろ なに、△関数でやるのかよ。てか、オレッち、画像処理は プログラミングは、好きだが、△関数とかラジアンとか嫌いです。 ていうか、 IF t<0.5 THEN x=t^2 ENDIF IF t>=0.5 THEN x=1-t^2 ENDIF IF 0≦t and t≦1 THEN ELSE MSGBOX"変な値の入れるなᕙ(⇀‸↼‶)ᕗ" ENDIF ぢゃ、惜しいけどダメだしなーーーブツブツ 🥳テスターです。チョー天才のテスターです。 ランベルト星人とかプロマネとかなんか 意味不明なこと呟いてるけど、>>728 のブラフと >>730 の数式って、微妙にデマってるぢゃーーーん。 微妙でも、バグってるぢゃーーーん 730のをグラフ化ていうか、お絵描きしてみたーーーーあ バグっていいぢゃーーーん なんて 歌に釣られては、いけないぢゃーーーん 👤 突然ですが、ワタシは、ランベルト星人だ(という設定) 地球人に、お絵描きをプレゼンだ テレパシーで、5chラーにお絵描き、発信 >>732 のグラフは、何だな。もう少し 過激な動きがほしい ていう訳で、改造だ。 ただし、地球人の数学で、マイナスの三乗根スナワチ、 マイナスの1/3乗は、実数解のはずだよな? ま、僅かでも1/3からズレると、複素数とか虚数とかに なるのが、地球人の開発した数学のようだ。 ま、地球の数学は、使えない可能は、微妙だが、 y=(1-(cos(x*π)^(1/3)))/2 が、とにかく、改造数式だ xは時間で、yは移動量で、 とにかく、急々加速度と急々減速な、グラフだ てか何だな、マイナスの0.33333乗はエラーで だが、マイナスの1/3乗は正常終了になるなんて ロジックは、不味いか?。 だとしたら、地球人の発明の数学ってバグってるぢゃーーーーん by 冷静な👤星人が、今日は微妙にヤヴァイ んー、>>733 はランベルト星人か。地球の数学より 優秀な宇宙人は地球の数学に苦戦してるようぢゃな y=(1-(cos(x*π))^(0.3333333333333333333))/2 と y=(1-(cos(x*π))^(1/3))/2 のグラフって、cos(x*π)が負になるときには 全く違う、その訳は、 地球の数学のバグっていうのはアリエルな。 ていうか、バグっていいじゃーーーーん。 あのAKB48か何かの曲のタイトルは、的を得てる BY 🤡 バグっていいぢゃーーーーん >>734 そのタイトルのは、 バグっていいじゃん は、HKT48の曲ですよ。 AKBとHKTぢゃ三文字中三文字全て違います。 というか、この歌詞、なかなか素晴らしいな。 BY 🥳 🤡 オレッちは、地球人だし、地球の数学は多分絶対 マイナスの1/3乗は、んーーーこれは定義できる可能性大とはいえ マイナスの1/3±ε乗は、限りなくεがゼロに近くても、 これは、地球の数学では未定義の可能性が無限大のはず。 てなわけで、 x=(1-(cos(t*π)^(1/3)))/2 は不採用とし、 x=(1-(cos(t*π))/2 を採用するものトスル。 そもそも、地球のコンピュータは内部処理は2進数の訳で 1/3を正確に2進数に表現できこっ無いぢゃーーーん。 ま、何故かexcel関数で負の1/3乗は計算出来るようだけど きっと、1/3乗±εは1/3と見做して誤魔化してるハズ ていうか、 x=(1-(cos(t*π))/2 を採用するものトスル。 by 🤡今は疑心暗鬼なプロマネでしたーーーー 👤 地球の数学って使えねぇーーーー その点ランベルト星の数学はバッチリです。 例えば y=x^2のグラフは、ランベルト星で次の通り 😅 ランベルト星(架空の星)の数学は、地球の数学より 無限大倍、スゴイので、地球人は、ランベルト星人の話しは 注意しなさーーい。 ちなみに、ランベルト星の数学では、 マイナス✕マイナスは、マイナスで良いかな❓ 👤 いや、ランベルト星人の数学は、モピロン矛盾許容だ 従って、マイナス✕マイナスは地球と同様プラスでヨシとする。今は 🤡 結局、最初の案の >>728 で上手くいった。アレコレ考えてたのは無駄だったが 地球の数学が使えねぇのは理解出来たのは、成果だ。 てか、なかなか728のグラフ、ふつうにいいな。 スタート即ち、時間=0での移動量てか速度=0 ゴール即ち、時間=1での移動量てか速度=0 なのに ちゃんと移動してるし、 多分、これは、無限回微分可能な関数だから、 滑らかさも、ちょーーーバッチリ 確かさ、cosって微分するとsinになってそれ微分ふるとさ cosに戻るから、無限回微分しても、定数ゼロにはならないから 絶対に無限回、微分可能だから、ちょーーーなめらか じじつ、これで生成した静止画を30FPSの動画で再生したら なんか、60FPSって感じに滑らかだ。30なのに60ぽく感じられる 動画になっちゃった。やったーーーー✧◝(⁰▿⁰)◜✧ by 🤡 >>735 は、🐴🦌テスターか >AKBとHKTぢゃ三文字中三文字全て違います。 とか、書き込んでるけど、 三文字中一文字は、同じぢゃーーーーん。てか、 3と2の違いもわからないのかーーーーー🐴🦌テスター by 🤡 画像処理の本に詳しいひといるかな? おすすめある? >>7 ⃣4⃣2⃣ 素敵な情報ありがとう VB&VC++による デジタル画像処理●門 CQ出版● という本なら持ってる 2002年10月発行のなので、もう使えねぇと思ったが、 なんだよ、excel vbaで、少しなら、コード改造すりゃ 動く感触あり ❌ Picture1.picture = LoadPicture("🌟🌟🌟.bmp") ⭕ image1.picture = LoadPicture("🌟🌟🌟.bmp") なんて感じで改造したら、 画像は、image1オブジェクトに表示されました\(^o^)/ さてと、まだ、超初歩段階だけど、やったぜー てか、EXCEL VBA がLoadpictureというヤツをサポートしてるなんてラッキー✌ もう、画像処理に、c#、c+,VBも、πソンも、とにかくアセンブラも 要らないぢゃねーーーー❓ てか未だ初歩段階だけどさ、イロイロ、やってみよーーーっと あっそうだ、9点のメディアンとか早くする方法❓ 9点の合計から最大値と最小値は異常と見なし差し引く─@ @を7で割る、コレを、バッチリ平均 ──A 7点の中からAに一番近いのを採用とする これで、色数も変わらない。 メディアンぢゃない可能性もあるが、ま、これでいいんぢゃなーーい >>744 よ、こいつは、2時間半前のオレッちだな。 >excel vbaで、少しなら、コード改造すりゃ動く感触あり と、エラソーにほざいてるけど、デマぽいじゃーーーーん。 Loadpicture はサポートしてるけと、 その本に載ってる Picture1.Point(🌟,🌟)とか、 Picture1.Pset(🌟,🌟)とか、 Picture1をimage1に置き換えたけど、なんかダメぽぃ。 ちぇ、744 2時間半前の自分に嵌まった。 >>745 9点メディアンより5点メディアンでいいんぢゃなーーい というかさ、中央の画素が異常値か判断して、 異常値⇒灰色(160,160,160)に置換えて誤魔化す 正常値⇒そのままトスル で、上手くいく。 ワケないな。 てか、EXCEL VBA ってどうもPUCTURE BOX 見つからんし Picture1.Point(🌟,🌟)とか、Picture1.Pset(🌟,🌟)とか、 Image1.Point(🌟,🌟)とか、Image1.Pset(🌟,🌟)とか、 も。見つからんし、とにかく、>>744 よ VB&VC++による デジタル画像処理●門 CQ出版● という本なら持ってる 2002年10月発行のなので、もう使えねぇので ステなさーーーーーい。 てか、744って12時間前の自分ぢゃーーーん やっぱ、捨てるのはや〜メタ 👤 地球人の作成したネットをイロイロ、ネットサーフィンしたらさ とにかく、VBAなのにPowerShellが起動させれるみたい '* PowerShellのコマンドを実行するVBA* Function runPS(ppp As String) Dim ooo As Object Set ooo =CreateObject("WScript.Shell") ooo.Run "powershell -NoLogo -ExecutionPolicy RemoteSigned -Command " & ppp, 0, True End Function これが、VBAなのにPOWER SHELLが動いちゃうFunctionだ 引数pppはmax 260文字という制限あるが モピロン、このFuctionを無限回コールすりゃ無限大の power shellが動かせる。 わけないけど、とにかく、 pppに、ファイルコピーするpowershellを代入すると ちゃんとファイルコピー できるようだ。 by 👤の呟き 🥳 >>748 はランベルト星人なのかな なんか幻聴が聴こえちゃった。その幻聴とは Step1) VBAで画像処理でBMPファイルを書き込む Step2) PowerShellでBMP2PNGやる。 で、STEP2はVBAから起動する。 だって、VBAからPOWER SHELL動くんだよな? だからさ、VBAでBMPファイルを出力させ それをそのVBAでPNGファイルにCOPYすりゃ 即ち、とにかく VBAで、入力も出力もPNGの画像処理可能だ\(^o^)/ ま、一時ファイルでBMPが出力されるが ソレは仕方ない。てか、VBAで、入力も出力もPNGの画像処理可能だ\(^o^)/ by 🥳 🤡 バカテスターが何かはしゃいでるな ま、そんなに上手くいくわけないだろう。けど まずは、BMP2PNGをVBAでやってみるか もっとも、>>748 の、ロジックでやってみる。無限大日以内に。 それが成功してから、イロイロ紆余曲折をへて、 VBAで、入力も出力もPNGの画像処理可能 にチャレンジかな てか、今は動画編集の作業でプログラミングなんてやってられね てか、バカテスターって安易な思考してるな。 上手くいく可能性は、10%もないだろうに by 🤡 🥳 なんだか、今日は、ポクは、ハッピーです。 ていうか、パワシェは、何でもできるポイです。 パワポというかパワシェは、さいこーーーー。 ネットで調べたら、 Remove-Itemコマンドレットというコマンドレットが あって、ファイルの削除も、バッチリだから、 一時ファイルとかの削除も、バッチリだと思うから、 一時ファイルでBMPが出力されるとか、749が気にしてたけど 一時ファイルでBMPが出力されても、そのコマンドレット というコマンドなのかな。 Remove-Itemコマンドレットという、コマンドで パワシェに命令すれば、 一時ファイルは出力されても出力されません。 てか、749って自分ぢやーーーん。 自己レビューも、バッチリだし、ポクって天才ぢゃーーーん by 🥳(発達障害という設定) 🥳 そういえば、プロマネが、 「既存の色々な画像処理のVBAにパワーシエルは組み込めん」 って書き込んでるけど、多分、デマぢゃーーん。 >>725 の書込み、多分、デマだと思う。 てか、これも、バグだーーーー。バグ発見嬉しいデス。 by 🥳 テスターはバグが大好き。 🤡 バカテスターがオレッちを🐴🦌してるけど とにかく、VBAでBMP2PNG にチャレンジはしては、みる というか、VBAでパワチェでBMPのファイルコピーなら 上手くいったぜ。4ファイル、コピーするやつだ Sub 四角形角度付き1_Click() Dim ps As String Dim ob As Object ps = "Copy-Item E:\work\P5000.bmp E:\work\P6000.bmp " & vbLf ps = ps & "Copy-Item E:\work\P5000.bmp E:\work\P6001.bmp " & vbLf ps = ps & "Copy-Item E:\work\P5000.bmp E:\work\P6002.bmp " & vbLf ps = ps & "Copy-Item E:\work\P5000.bmp E:\work\P6003.bmp " ob.Run "powershell -NoLogo -ExecutionPolicy RemoteSigned -Command " & ps, 1, True End Sub 因みに、vbLfを省略すると上手くいかん。理由はわかんないけど 何となく、改行てかvbLfいれたら上手くbmpファイルコピーに成功\(^o^)/ by 🤡 bmp2pngは未だ先たが、まずまずだぜ✌ 🤡 さっきさ、753の時点では、 「bmp2pngは未だ先」と書き込んだけど、 Excel VBA 「bmp2pngはもうすぐ完成の見込」 に改定だぜ。 ま、VBAにPOWER SHELLのコードを埋め込んだ からVBAぢゃないけど、VBAだぜ VBAでBMP2PNG が、あとすぐできるので、 すぐ、ココに公開しちゃいます。 \(^o^)/ って感じ by 🤡 ルンルン 超暫定版 VBAでBMP2PNG完成 \(^o^)/ P5005.bmp をVBAでP5005.png に圧縮かつ多分無劣化だぜ✌ Sub 四角形角度付き1_Click() Dim ps As String Dim oo As Object Set oo = CreateObject("WScript.Shell") ps = "" ps = ps & "Add-Type -AssemblyName System.Drawing " & vbLf ps = ps & "$f1 = 'E:\work\P5005.bmp' " & vbLf ps = ps & "$f2 = 'E:\work\P5005.png' " & vbLf ps = ps & "$im =[System.Drawing.Image]::FromFile($f1) " & vbLf ps = ps & "$im.Save($f2, [System.Drawing.Imaging.ImageFormat]::Png) " & vbLf oo.Run "powershell -NoLogo -ExecutionPolicy RemoteSigned -Command " & ps, 1, True End Sub 帰納法とは順序集合においてある命題がある番号まで成立としたとき次の番号の命題が成立することである 🥳 >>755 マジかよ。VBAでBMP2PNGのソースコードぢゃーーん てかさ、 そういえば、プロマネが、 「既存の色々な画像処理のVBAにパワーシエルは組み込めん」 って書き込んでるけど、絶対、デマぢゃーーん。 >>725 の書込み、絶対、デマですね。 by 🥳発達障害テスターの嫌味 ちなみに、>>755 のコードで Dim ps As String が おそらく約200文字を超えると それを実行する oo.Run なんたらかんたら & ps, 1, True は、バグると思う。200文字位なら大丈夫だが300文字位ならアウト ま、1fileのBMP2PNGならこのソースコードで良いが 数fileなら工夫する必要があるだろう、 とはいえ、ホントにちゃんとBMP2PNGが実現ならば、 99点の出来だ。モピロン、100点ではないが by 👤 プロマネ ─── 🤡 とおく ∧ 発達障害テスター ─── 🥳 とおく 🤡 VBAでBMP2PNG完成 暫定版だけどさコードは>>755 だ 🥳 で出力されたPNGは32bppなのかな❓モチロンだよね。 🤡 オマエ、判ってて質問してるな。24bppだ 実質power shellだ 🥳 32bppぢゃないといやでーーーす。 🤡 24bppの方がファイルサイズ小さいし、そもそも 入力のBMPは24bppだから、これでヨイのだ。 🥳 ちぇっバグぢゃないのかよーーー 🤡 バグっていいワケないぢゃーーーん。てか このロジックを改造して、 複数ファイル(数十ファイル)のBMPをPNGに変換するのを 作る計画を企画中だ。ま、多少はバグるだろうから その時、愉しみしてなさーーーーい。 🥳 早く、そのプログラミング作りなさいーーー。 バグを沢山見つけて、デバッグしたいでーーーす。 BY 🤡 ま、このツールは企画中、何時完成かは未定だが 作る気になれば、今すぐだな。 でも、今できる事は、いつかやることにしますぅぅぅ 👋👋👋 超暫定版 VBAでBMP2PNG完成 \(^o^)/ と喜んで見たものの、よくテストしてみると 四角形角度付き1_Click() を実行中に 四角形角度付き1をクリックしまくると ま、ダブルクリックとかトリプルクリックとか 複数回クリックしまくると、 それが処理中でも、 それが重複して処理されるようだ。 ま、ファイル書込み中は排他制御は OS側でやるとは思うが、何か心配だな 一応、排他制御的な短時間重複起動阻止の ロジックは入れておいた。 んーーーー。ちょっと参った。 ロジックが排他制御的なので、汚くなった 仕方ない。 BY 🤡のボヤキ てか排他制御ってなんか掴みどころない し、嫌な思い出しかない。😅😅😅 >>760 でも記載したが 四角形角度付き1_Click() を実行中に 四角形角度付き1をクリックしまくると ま、ダブルクリックとかトリプルクリックとか 複数回クリックしまくると、 それが処理中でも、 それが重複して処理されるようだ。 と、喚いたところで、上手く躱されるだけか 話題をすり替えられるだけだ。 おそらく、触れてはいけない疑問なのだろう。 ま、ある程度予想通りのいいワケだった。 さて、 oo.Run なんたらかんたら & ps, 1, True で 第4パラメータはtrueにしてるので oo.Runが処理中でも先の処理に進むことはない。が だから、重複しないハズ とかは甘いバスだな。 oo.Runが処理中でも先の処理には進まないが oo.Runが処理中に、新たなるoo.Runが処理か発生する場合が あるだろ。それを阻止するためには、 四角形角度付き1_Click()の先頭に重複防止ロジックを 入れるべきだ。 ま、入れなくても、90〜99%位の確率で上手いくだろうが ま、処理時間が倍になる予感 さらに、1〜10%の確率でファイル破損もあり得るかな 杞憂かも知れん。排他制御はそれなりに難しい by 🤡のボヤキ ┐(´д`)┌ヤレヤレ 👤 なんかプロマネ761にボヤキを書き込んでるな 排他制御❓ んーーー不要かどうかなんて、知らんけど・・・ ま、実行ボタン.enable = False 的にやり 実行完了で、実行ボタン.enable = True 的な そんな感じで、地球人はやってると憶測される。 てか、プロマネの実行ボタンって、ActiveX、ぢゃなくて 単なる、図形(オートシェイプ?)のようだな。 ま、カラフルかつデザイン性重視 とにかく、排他制御を実装した方がよさそう。かも?! by 👤 🤡 排他制御は、以下のコードでキマーーーリ Private TT As String '前回起動時刻 Sub 四角形角度付き1_Click() Dim WT As Long '待ち時間(秒) Dim SS as String '''重複起動チェック If TT = "" Then '初回はチェックなし Else WT = 60-Abs(DateDiff("s", Time, TT)) If WT > 0 Then '''重複起動チェック SS = CStr(WT) & "秒 クリック待て" MsgBox SS Exit Sub '''本処理回避 End If End If TT = Time '''本処理 〜ファイル書込み処理60秒位かかる〜 End Sub by 🤡 多分これでゼッタイ完璧てか、自作ツールだし失敗しても怖くない 🥳 クリックまて、"59秒 クリック待て"と表示されたので MSGBOXの[OK]ボタンなら5時間クリックしてない てか、本処理が全然おわないーーー。バグってるぢゃん 🤡 59秒かよ、1秒位で、RUNボタン(図形SHAPEの意)をクリック したんだろ。てかMSGBOXの[OK]はすぐ押しなさい そしたら、60秒ぐらいで本処理終わりますよーー 🥳 そんなの聞いてないもんねーー バグです。ーーー 🤡 テスタなら騙し騙しで良いから使いこなせーーー てか、デバッグは保留てかドンドン先にGoしようかな 🤡、とにかくオレッちのプログラミングレビュー💩のようだ てか、ダブルクリックでの二重起動だけ避けれれば、それで構わんバージョンだっ。 Private TT As String '前回起動時刻 Sub 四角形角度付き1_Click() Dim WT As Long '待ち時間(秒) Dim SS as String '''ダブルクリックでの重複起動回避 If TT = "" Then '初回はチェックなし Else WT = 3-Abs(DateDiff("s", Time, TT)) If WT > 0 Then '''3秒内はタブルクリックだよな SS = CStr(WT) & "秒 クリック待て" cells(1,"a")= SS '''debug monitor doevents:doevents:doevents:doevents:doevents Exit Sub '''本処理回避 End If End If TT = Time '''本処理 〜ファイル処理60秒位かかる〜 Call B2P("b1.bmp","p1.png") Call B2P("b2.bmp","p2.png") Call B2P("b3.bmp","p3.png") Call B2P("b4.bmp","p4.png") Call B2P("b5.bmp","p5.png") End Sub by 🤡叩き台なので、これでヨイのだ版 🤡自分で言うのも何だが、いろいろ暫定的にテストしたら If TT = "" Then '初回はチェックなし Else WT = 3-Abs(DateDiff("s", Time, TT)) If WT > 0 Then '''3秒内はタブルクリックだ。 Exit Sub '''本処理回避 End If End If TT = Time なお、TTは別のプロシジャーというか グローバル変数というか(←適切な言葉を知らない) とにかく、宣言する場所はモジュール外だ とにかく、これにキーーメタ。 排他制御はキニシナイ。 ダブルクリックによる二重起動だけ キニすれば、なんか上手くいく感触だ。 てな訳で、プログラミングドンドン進める by 🤡ほぼ完全はしてるが作り込みに時間は掛かる ていうか、 WT = 3-Abs(DateDiff("s", Time, TT)) If WT > 0 Then '''3秒内はタブルクリックだ。 Exit Sub '''本処理回避 End If は、微かに改定して If Abs(DateDiff("s", Time, TT)) < 3 Then '''3秒未満はタブルクリックだ。 Exit Sub '''本処理回避 End If にしよっと。ま、実質おなしだけど 少し、短くした。 by 🤡修正してる内にコードが腐るから綺麗にしなきゃー 🥳 プロマネが>>767 にダブルクリック判定 ロジックを書き込んでるけど、コレバグてるぢゃーーん。 4月16日の19時19分19秒に クリックしてさ 24+α時間パソコンの電源は切らないでさ 4月16日の19時19分20秒に クリックしたら タブルクリックと判断して 4月16日の19時19分20秒のクリックは処理は無視だぜ バグってますねーーー 🤡バグってるのはテスターの頭ですネ てか、パソコンは1日一回位は再起動とかシャットダウンしなさい てか、19時19分22秒以降か、19時19分18秒以前に クリックすればよい。てか 頑張ってテストしてみてねーーーー 多分、テスターの予想どおりになるけど テスト頑張ってねwww ゲラゲラ >>768 の物語、ミスった ❌ 4月16日の19時19分20秒 ⭕ 4月17日の19時19分20秒 by 😅 🤡自分で言うのも何だが、さらに暫定的にテストしたけど、 766というか767のロジック。素晴らしい 処理実行ボタン(実は図形だが) ヤケクソで一秒間に5回を処理が終わるまで クリックしても、処理は初回の一回だ。\(^o^)/ モチロン、処理が完了すると、 2回目の処理が走るが、ま、当然だ。 とにかく、排他制御が超完璧\(^o^)/ ていうか、排他制御キニシナイで ダブルクリックによる2回起動 を 阻止 そんなロジックにしたたけなんだけど 多分さ、地球人でこんなロジックにするのは 皆無だろ。世界初ぢゃないかなーーー by 🤡上手くいっただけでウカレてしまうプロマネでした。\(^o^)/ 🥳 一秒間に5回か。でもさ、一秒間に無限回CLICKすりゃ いや、机上では、二重起動阻止されるな でも、CLICKのタイミング微妙に増やしたり減らしたり すれば、二重起動するかも知れん。てか そうなっても、処理時間が2倍になる程度だな。 んーーーん。ちぇっつまんないのーーーー by 🥳 🥳 あっそうだ。本処理(BMP2PNG)で ファイルサイズが小さいファイルを 1ファイルだけ処理するなら、 3秒かからんだろ。でさ にも、関わらす、そのロジック 3秒以内に二度処理しようとしたくても 無理ぢゃーーーーん。バグぢゃねーーー❓ 🤡3秒以内に2度以上処理出来ないのはバグぢゃありませんが ていうか、3秒以内に2度以上処理出来ないという仕様ですよーーー 🥳仕様?。ちぇっバグぢゃないのかよーーーつまんないの 条件式 Abs(DateDiff("s", Time, TT)) < 3 これが実質 排他制御フラグみたいもので そらに、初回起動時は、条件式 TT="" が真となる関係で TT=""の時(初回起動時の意)で、タブルクリックチェックは せず、本処理やるという、この超能力的発想が 巧くいった秘訣だぜ\(^o^)/ てか、ま、タブルクリックするヤツがいけないんだけどさ、 でも、処理実行で、シングルクリックにすべきか タブルクリックするかなんて、ヒトそれぞれだしよーーー なんたら、かんたら、ぺちゃくちゃーーーーーー BY 🤡巧く行き過ぎて、話しが長文 🥳 てかさ、図形クリックしたら図形非表示にし、 処理が完了(エラーで完了も含む)図形を再表示でいいぢゃーーーん。 何やってる❓ 世界初とか病気ぢゃねーーー❓ 🤡、ま、誇大妄想って病気らしいけど治す気はしねーーー てかさ、図形を非表示にするロジックで シェイプのvisable?をfalseにするロジックやったけど 文法エラーにはならないのに、実行時「サポートしてません」 とかいうエラーでダメだった。 文法エラーにならないのに実行時エラーなので ハマる予感を霊的に感じたから、そのロジックは諦めた 🥳プロマネって霊感でプログラミングしてるの❓天才ぢゃーーーんポクと同じダネ 🤡 BMP2PNGのVBA それの暫定版は>>755 だが 一気に24FILEやって、かっこよいUIにして ちゃんとした版のが完成した。ゼ 755は4/14だから、2日で完成。 多少の紆余曲折はあったが順調だ テストは不十分だが、ほぼ完成だ VBAでBMP2PNGが完成しちゃいました 🥳テストはしないの? バグとりしたーい 🤡軽くテストは程々、さっさと運用とする 運用とデバッグを並行てか平行てか とにかく、いくつかあるBMPをPNGにする 🥳運用でバグるとイイネ(≧∇≦)b 🤡ま、バグったらVBAでなくPOWER SHELLでやる てか既に、POWER SHELLで運用してる 🥳ちぇっつまんないの。てか VBAでBMP2PNG作ったて自慢してるけど VBAでPOWER SHELLのコード?を実行してるだけぢゃーーん 🤡ま、いいぢゃーーーん。 BMP2PNGなんか、そんなズルしなきゃ作れん てか、作成されたPNGは24bppだ てか、運用上問題なし。 ま、ちゃんとしたテストはこれからだけど 既にこれが編集後記だな。www 👤 プロマネは、今回のVBAでのBMP2PNGでは、 今回初めて、 条件式 Abs(DateDiff("s", Time, TT)) < 3 をやって、「タブルクリックによる二重起動」の防止 を実装した。 今回以前の全てのツールで 「タブルクリックによる二重起動」の防止 のロジックは入れてない。 何でだろう。奇妙だ また、今回は、 条件式 Abs(DateDiff("s", Time, TT)) < 3 を入れたとはいえ、 2回目クリックは、一回目クリックの3秒以上後 且つ 2回目クリックは、一回目の本処理が完了前 では、 2回目クリックによる二重起動は、 起こらない そ、そんな、二重起動防止ロジックは実装してないのに ま、OSというかVBAというかイベントドリブンは そういうモノなのだろうが、それにしても解せぬ🤔 DOEVENTを入れまくるとヤヴァイというハナシは よく耳にはするが、DOEVENTを入れまくった方が 「応答してません」という応答がでなくなるし まったく、地球人の言ってる言語は意味不明ぢゃ というか、パソコンの調子が時々オカシイ時に 二重起動しやすくなる傾向がある。 待てよ。🤔 この文の論理学的な裏が真なのか いや、多分違う。プロマネ🤡はオペレーションは 苦手とはいえ、有能なITエンジニアの中では 苦手なだけで、普通にオペレーションも、こなせるハズだが 🥳 ボクはテスター、ランベルトが何か呟いてるな そういえば、プロマネは、タブルクリック防止の ロジック版のテストで一秒間に数回クリックを 永遠に繰り返すなんて、ハッカーみたいなことする テストしてたよーーー。 なんか、結果バッチリとか喜んでた。ソースは >>770 で、とにかく喜んでた。 by 🥳 んーーーオマエもプロマネも、地球人って全員ヘンだ by 👤 👤 >>435 のソースコードみてみろよ。 言語は、EXCEL VBA''' 画像変換 BmpToPng (準失敗作) ソースコードだ。2ヶ月程前は、 VBAでのBMP2PNGは完成してたとはいえ、準失敗作だった しかし、ソレは昔、2ヶ月昔のハナシ とうとうらVBAでのBMP2PNGが完成したのは、素晴らしい👏👏👏 ま、24bpp PNGなのは於いておいて、 生成されたPNGの画質って、おそらくドッドバイドッドぽぃぞ 完璧だね。 多分地球上のネット上のプログに公開されてる如何なる ソースのBMP2PNGより、もしかして画質上かも てか、多分地球上のネット上のプログに公開されてる BMP2PNGのソースって準失敗作だらけ。 その点、ピミ🤡のVBAのそれは素晴らしいすぎ。 てか、2ヶ月前にもBMP2PNGにチャレンジして失敗か 今振り返れば、そんな準失敗435も懐かし思い出だ。 🤡 ランベルト星人が地球人の、オレっちを褒めてる んーーー へんな感じた。 今回、成功したBMP2PNGも、ちょっと気になる部分はある。 というか、Doeventsを多用し、ダブルクリック二重起動阻止ロジック したんだけど、何か今日は、そのツール 滑らかに動いてる。んーーー 不思議たが、ま、よい。かなりヨシ 🤡 そういえは、タブルクリック二重起動阻止ロジックは 今回、産まれて初めて実装したな。 PNG2BMPは、以前はBATファイルをダブルクリックだった BATファイルは、シングルクリックだと、単に選択するだけでRUNしない ∴ BATファイルで(POWER SHELLをRUNで)BMP2PNGやる時はダブルクリックだ VBAで図形クリックでやるなら、図形はシングルクリックが、 そうだ、シングルクリックが正解だ。 んーいつもの癖でBMP2PNGはタブルクリックというのが 条件反射として、小脳か中脳に記憶されたからだろう。 自分で言うのも、変なハナシだが、人間という生物は 大脳が発達してるから、出来るヒトは、 ダブルクリックとシングルクリックを使いわけれるが オレッちの様な動物的直感でオペレーションするモノには 苦手な事である。 👤 ま、地球人は我々ランベルト星人からみりゃ 大脳は普通だ。その点、我々ランベルト星人の大脳は 無限大の質量を有しており、で、で、で、地球人より無限大倍スゴイ プロマネがトチるのは止む得ない。とはいえ、 ま、タブルクリック2重起動阻止ロジックを開発したのは 驚くべきことだ。 きっと、動物的直感が他の地球人より優れてるのだろうか とにかく、地球人はナゾの生命体だ。 by 👤ランベルト星人 🤡は誇大妄想ポイから病気だな。そして 👤はあれはナンナの❓ 誇大妄想というか、大脳の質量が無限大とか 呟いてたけど、これ治療不可能だにゃーーーー by 🥳テスター 👤ランベルト星人 重複起動回避の定番的ロジック(憶測) Private 排他ステータス as long Sub 図形_Click() If 排他ステータス = 0 or 2 then 排他ステータス = 1 else CALL 本処理BMP2PNG(☆、★) CALL 本処理BMP2PNG(○、●) CALL 本処理BMP2PNG(△、▲) 排他ステータス = 2 '''✌ end if END SUB 🤡プロマネ 排他は、フラグというかステータスか 普通に、ナカナカやるな。ま、 排他ステータス = 2 '''✌ のトコ、上記ようなアバウトアルゴなら 正しいだろが、だがしかしーーーし 準エラー系とか、致命的エラー系とか イロイロ考慮すると、 排他ステータス = 2 '''✌ のロジックが散らばる。気もする だから、ハマる予感。∴それは、やめた 👤 んーー❓❓❓、準エラー系か❢ 🤡 オレッて天才❓ 👤 ❢ >>782 仲良く呟きあってるけどさ、・・・ 🥳 ゲラゲラ、書き込む前に ちゃんと机上チェックしろーーちゅーの ❌ If 排他ステータス = 0 or 2 then ⭕ If 排他ステータス = 1 then ランベルトさんは、テヘペロするしかない by 🥳 テヘペロって用語はイイネ 👤 いや¯\_ʘ‿ʘ_/¯ ま、オレは、宇宙人の設定だが オレは、ホントは地球人だから バグることもある。 🥳 ヤッパ「バグるといいぢゃーーーん」 って名曲だね 🤡 微妙にオマエの記憶、 微妙にバグってるぢゃーーーーん 🤡 ま、とにかく、 今回リリースしたBMP2PNGは 一応、排他、タブルクリック2重起動阻止は 上手くいってる。一応だが テストした感触ではカナリバッチリだぜ てか、机上は苦手だ。 てか、ドンドン、リリースし運用しようゼ、 🥳ポクもそう思います。運用でバグっていいね 🤡ま、単なるツールでおまけに代替用の ツールが沢山ありすぎる。 てか、ツールだから、既にバグだらけだけどな 🥳ゲラゲラ それを使いこなせるなんて天才 👤地球人は解らん。てかこの2人だけが頭がバグってるのだろあ 🤡てかさ、ま、模範解答なら下記ぢゃね Private 排他ステータス as long Sub 図形_Click() If 排他ステータス = 1 then NOP '''なにもしない else if 排他ステータス= 0 or 2 then 排他ステータス = 1 CALL 本処理BMP2PNG(☆、★) CALL 本処理BMP2PNG(○、●) CALL 本処理BMP2PNG(△、▲) 排他ステータス = 2 '''✌ else MSGBOX "絶対アリエナイ" 排他ステータス = 0にしておくか end if END SUB ちな、条件式 排他ステータス= 0 or 2 は、ホントは、条件式は、 排他ステータス= 0 or 排他ステータス= 2 🥳条件式 排他ステータス= 0 or 2 変な論理式、プロマネってコボラーなの❓ 👤地球人は 条件式 排他ステータス= 0 or 2 は 何故か理解する生命体∴地球人は頭はヘン 👤 else ifは elseif ぢゃね? 🤡 んー、いやこれでよし、 代わりに、end ifを追加だ 🥳 if とelse endif の数に不整合あるか コンパイラが教えてくれるし、ポクはキニシナイ ポクって天才。てかバグっていいぢゃーーーん 排他ステータス = 2 '''✌ は本処理完了時におこなう。 さて、エラー発生どう 排他ステータス = 2 '''✌ 組み込むのかがまず、第1関門だ ま、通常は設計後直ちにコーディングだから 設計哲学を失念しなきゃコーディングも上手くいくだろ さて、問題となる第2関門は、 このプログラムを、んー例えば一年後に改造したとき そして、そのとき準エラー系が普通に発生する場合だ 果たして、 排他ステータス = 2 を設定する ロジックを失念する可能性は大きいだろうし その反対に 排他ステータス = 2は設定してはいけないのに 設定してしまったり、イロイロ問題が発生し プログラムは早期に腐っていく。 だから、こういう模範解答的なアルゴリズムは 嫌いです。 by 🤡 自己流プログラミング哲学語る 🥳って言うかさ、 Private cnt as long Sub 図形_Click() cnt = cnt+1 CALL 本処理BMP2PNG(☆、★) CALL 本処理BMP2PNG(○、●) CALL 本処理BMP2PNG(△、▲) CALL 本処理BMP2PNG(□、■) CALL 本処理BMP2PNG(▽、▼) cells(1,"a") = cnt END SUB で、ガンガン、クリックやっても 地球の表計算ソフトのA1セルは1だよな裸 ガンガン、クリックしても A1セルは1よりデカくなるのかなーー テストしてみよーーー かなその内 by 🥳あのテスター call先も含めて、特段doeventsなしでも、 トリプルクリックすると セルA1に3と表示 ガンガンクリックすると、まぁ9回位かなーー セルA1に9と表示された。 BY 🤡 重複して実行されてるのかそれとも、 単にキューーーイングされてるのかだな。 てか、ま、キューイングだろうけど、 盲点だ。結構大切なハナシ。😵 Private cnt as long Sub 図形_Click() cnt = cnt+1 CALL 本処理BMP2PNG(☆、★) cnt = cnt+10 CALL 本処理BMP2PNG(○、●) cnt = cnt+100 CALL 本処理BMP2PNG(△、▲) cnt = cnt+1000 CALL 本処理BMP2PNG(□、■) cnt = cnt+10000 CALL 本処理BMP2PNG(▽、▼) cnt = cnt+100000 cells(1,"a") = cnt END SUB で、ガンガン、クリックしたら 地球の表計算ソフトのA1セルはどるなるんだ 短時間に5回クリックすりゃ55555 かそれとも それ以外で1より大きく50000より小さいか ま、1以下にはならんだろが、んーーー 机上では、偏差値無限大のオレでも無理だ by 👤ランベルト星人 >>790 🤡プロマネ B2Pの処理概要、以下だ Function B2P(P1 as string, P2 as string) Dim s9 As String Dim oo As Object Set oo = CreateObject("WScript.Shell") ・・・ s9 = (パワーシェルのB2Pの文字列だ) oo.Run s9, 1, True End Function このoo.Runの第2パラメータかな いや第3パラメータかな、んーー とにかく、 oo.Run s9, 1, True は、ネットの解説によると パワーシェルを表示し、 処理を待つ 、処理を待つ、待つ ってことだ。処理を待つ の 意味不明だが、処理を待つ んだろから 直感的に普通に考えて、 重複処理はキューイングか無視 しかし、後者はテストにより否定され 重複処理はキューイング と憶測する∴ A1セルは、55555 と表示と憶測する。 by 🤡 >>791 プロマネの憶測って、瞬間に5発連続クリックってことだろ プロマネの憶測で そうすると55555とA1セルに表示って プロマネは憶測は、してるようだけどさ、 テストしてみちゃいました。5ですよ でも、100回位瞬時にクリックしてみちゃいました オレってハッカーポクてかっこよいと思います で、100回位瞬時にクリックしてみちゃったら、73 になったり、 約30回クリックのときは、20016だったり EXCELが特段何のメッセージも出さずに、終了したり イロイロ、めちゃくちゃだ。 割り込みというか、イベントドブなんとかが めちゃくちゃになっちゃってますよーーー モピロン、プロマネの憶測はハズレーーーーー BY 🥳バカテスター 🥳 テスト 🤡 ま、排他制御入れないと、タブルクリックや ハッカー的な攻撃オペレーションに、ガンガンクリックしまくると 動作がヤヴァイってことだろ。 オレの憶測 55555∴キューイングは、半分正解で でも、ハッカー的攻撃でexcel異常動作またはexcelダウンも 起こる可能性があるってこと。かと、 だからさ、3秒未満のクリックしまくると、 2度目のクリックは無視する排他制御のロジックは 素晴らしいのさ、 モチロン、他所でのソースレビューワーが時間依存のプログラミングは💩 とか言いそうだけど、3秒ならいいぢゃーーーん てか既に運用してて、なかなか、スムーズに動作してるもんね てか、バカテスターこそ、ハッカーみたいなオペレーション してるな。てか、地球人のハッカーでも落ち溢れだぜ。 クリックしまくるとだけなんて、ゲラゲラ by 🤡 👤 変な結果だ。 こちらでも、イロイロ、図クリックをしまくると 図クリックでどのように動作するかテストしてみたが 排他制御しないと キューイングしてるような感じなり、 さらに、ロジック自体が色んなチェック (出力ファイルが既存なら、書込みしない設計より 直ちに処理せず処理完了等々・・・)で 結果的に(幸運にも)処理を回避してたりとか んーーー。ま、よくわからんが、 とにかく、タブルクリック等による多重処理は、回避する ロジックはあった方がよい。 🤡 で、タブルクリックしなきゃ問題ないよな? 👤 おそらくyes そしてタブルクリックでも この場合はキューイングというか処理やり直してるようにも感じる。よくはわからん。 が、とにかく、結果的には問題はないようだ。 🤡 ぢゃーまーいいか 🥳 さすがプロマネ、言うことが一味ちがう。バグっていいぢゃーーーん 🤡 あの、バグってはナイし、そもそも、排他制御は上手くいってる。 排他制御を外して、検証して、その場合どうなるかの 試験なんだけど。ま、やった方がよいが やらなくて、シングルクリックなら問題なし 排他制御しなくてタブルクリックでも、へっちゃらだ 🥳 ちぇ、つまんないの、てかガンガン、クリックしまくりテストしてよ 🤡 排他制御のロジック組み込んでそのテストはしました なんか、上手く行きました。産まれて初めて組み込んだロジック ま、他所レビューでボロ💩な指摘食らったけど、ま、いいや 🥳さすがだね。 Win32で多重起動防止ならnamed mutex使うのが定石だが 🥳ポクは、ダブルクリック禁止かな 🤡ダブルクリック位ならいいんぢゃなーーい 👤デフォルトの環境設定はそのままにはしたい ランベルトとかいう、宇宙人の落ちこぼれが UTF8 C280 つまりU+0080がどんな文字が 疑問に思ってるようだ。 どうやら、ナゾの制御コードのような 霊感を感じる。それのお絵描きしておく BY ☕ジャバ星人でしたーーーー read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる