画像処理 15枚目 [転載禁止]©2ch.net
画像処理プログラミングについて質問、議論を行うスレッドです ・画像処理について素人同士で大激論 ・初学者の質問に対してやさしく(的を外れた)解答を与える ・その道の玄人も大歓迎 🤡 ま、なんだな。自作画像処理、とくに 動画系統がらみの、沢山の静止画を生成させるにあたり、 とにかく、以下のお絵描きのようなグラフの 関数を自作したくなる。 時間=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 ☕ジャバ星人でしたーーーー 🤡≡自称プロマネ 軽い誇大妄想 🥳≡バカテスター かなりアレだ 👤≡自称宇宙人のランベルト星人 🤡 よし、JavaScriptってバイナリ使える 🥳 画像処理と関係ないハナシするな 🤡 ネットの情報だけどさ、 JavaScriptってバイナリ使えるから 次期画像処理は開発はプログラ厶は 言語は、JavaScriptトスル 皆の者。ヨロシク♪ 🥳 プロマネってバッカぢゃない。 定跡的にはVB C++ C# πソンだ。 🤡 てかさ、JavaScript下記の通りだ Uint8Array は、8bit符号無整数配列。 要素 1 つのサイズは 1 バイト(8bit) てな訳でVBA DIM BBB(99) as byteは JavaScriptへ移植は可能だ 然るに 画像処理は次期は言語はJavaScriptトスル 皆の者。ヨロシク♪〜(´ε` ) 👤 上手くいくかな。微妙だな。 🤡 ルンルンルン。なんかI am Happyだ JavaScriptでさ、 var BBB = new Uint8Array(30000000); ってコーディング したけど、何か上手くいく予感。 3000万のbyte配列確保できる予感を感じます。 だから、画像処理楽勝 やっほーーー┏(^0^)┛ 👤 4Kのbmpは、メモリは約600万byte 配列的には、3000万byteとれるから、その観点では メモリ的には4K静止画も可能性ではあるが、 上手くいくのは、まだ程遠いだろう 🥳4K画像❓ 4Kbitならギカぢゃないし楽勝だね 🤡👤 んー(・o・) テスターの意味わからん 🤡てか、方向性微調整性だ △ var BBB = new Uint8Array(100); ○ var BBB = new ArrayBuffer(100); って感じにしようかな モピロン、Uint8ArrayはArrayBufferらしい 👤地球に存在のJavascriptの書の 記述は意味は長文かつ不明だが、 どうにか 地球人が数学的用語に、翻訳すると Uint8Array ∈ ArrayBuffer ということのようだ。 Uint8ArrayをArrayBufferに置換えの 真偽は論理学的には微妙だ。 🥳ArrayBufferって名前かっこいい。 ポクはArrayBufferがかっこいいから Uint8Arrayはやめ、ArrayBufferが良い。 🤡 こら!!>>803 の自称宇宙人👤よ ❌ 4Kのbmpは、メモリは約600万byte ⭕ Full HDのBMPは、メモリは約600万byte だ 🥳 家電量販店でFULL HDは200万画素だから200万BYTEだー 👤 いや、失礼、FULL HD と4Kを混同した。 ていうか、200画素は600画素で 1byte/画素だからプロマネ正解 🥳 プロマネ正解。宇宙不正解。ざまーーーーぁ 👤🤡 呆れたヤツーー ∵バイナリファイル書込の 地球の書のサンプルのが、 ❌Uint8Array ⭕ArrayBuffer だから by 🤡 JavaScriptなのにローカルファイルの(テキスト)を Webブラウザに表示できちゃう化学反応は 以下の様な感じぢゃ 【HTML 第0層】 <input id="💾" type="file" /> <p id="🗒" /> 【JS】 // 第1層 var 🦝=document.getElementById("💾"); var 🦊=document.getElementById("🗒"); // 第2層 🦝.addEventListener("change", () => { var 🎃 = 🦝.files[0]; 🦊.text = 🎃.name; }); by 👤 >>807 んーなに、このソースコードもどき設計書 ランベルト星人って頭がバカなの❓ OOプログラミングっていうやつなの❓ てか、タヌキがキツネに化けていく様(サマ) ように、絵文字🦝🦊で表現してるなんて、 ヤッパ、自称宇宙人のランベルト宇宙人。ヤバイ BY 🥳 JavaScriptでバイナリのデカイやつ扱える∴ 画像処理をJavaScriptをやる事にしたが、スゲーー後悔だ てかさ、関数への値の渡しとかC言語並みにバカなのに 値の宣言がいいかげんでトーシロが喜びそうな言語だし オレのキライなオブジェ⚫試行ぢゃんかよーーー 指向は、試行の誤字だろってか ローカルファイル書込み、どうやらサポートしそうにないな てか、何処で息切れするか愉しみだし、 Javascriptで画像処理するのは、続行だーーーー てか、自分に、嵌まったーーー by 🤡 Javascriptで画像処理楽勝 やっほーーー┏(^0^)┛ なんて、書き込んだ>>803 🤡とかいう自称プロマネ やっぱ、誇大妄想ぢゃーーーん。てかコイツは🐴🦌より🐴🦌だ by 🥳 やれるとこまで、やるぜぇーーーー 3000万byte確保に成功したから4K画像もどうにかなるもんねー ちなみに、4Kは、約2400万バイトだ 自称宇宙人とバカテスター、計算間違えるなよーー by 🤡 【JS】 // 第1層 化学変化・準備 var 🦝=document.getElementById("💾"); var 🦊=document.getElementById("🗒"); var 🎃; // 第2層 化学変化・仕組 🦝.addEventListener("change", () => { 🎃 = 🦝.files[0]; 🦊.text = 🎃.name; }); by ☕ 上記で動くといいな。ダメだろうけど知らんけど ポクなら 【JS】 // 第1層 化学変化・準備 var 🦝=document.getElementById("💾"); var 🦊=document.getElementById("🗒"); // 第2層 化学変化・仕組 🦝.addEventListener("change", () => { 🦊.text = 🦝.files[0].name; }); by 🥳バグっていいぢゃーーーん 【JS】 var 🦝 = document.getElementById('📓'); var 🦊 = document.getElementById('📖'); var 🧺; var 🎃; ・・・ヒ・ミ・ツ・・ だな by 🤡 javascript?、ま、何だな 変数すべて最初に宣言∴途中の宣言は失くす ∵変数ひっくるめて、何でもグローバルだ ∴自作関数に値に渡すなんてめんどくせーこと は無くなる。引数そんなの知らんがなーーーー by 🤡ルンルン javascriptの引数って確かに、ポインタ渡しなのか値渡しなのか、ナゾではある。 でも、全部グローバル変数にするかよー 自称プロマネ、javascriptの学習のしすぎでイカれたようだ。 by 👤 その点ポクは、いつもバッチリです。 by 🥳 てかさ、バイナリ配列とかデカイ配列、アレって 関数に渡す時は、勝手にポインター渡しだよな❓ それでもいいんだけどさ、 プログラムの先頭で BBB = new Array(3000万); なんて感じで実装すりゃ ドンナに深い関数の中でも、BBBが見えそうぢゃーーん。 やっぱり、画像データはBBBに巨大配列でグローバル変数 宣言だよな。ーーてか、何でもグローバル変数 LET とかCONST なにそれ、いらねーー むりやり、引数で渡して、関数の呼び出しがスパゲッティに なるのんて、ダメですね。!てか、 なんでもグローバル変数だ てか、addEventListenerの引数で e とかeventとかの 変数名の変数あるぢゃーーーん。ま、これは宣言しなくてもいいや てか、javascript簡単すぎて難しいぢゃーーーん。ハマったから楽しいな by 🤡ルンルン addEventListener の引数って省略してるのを見るに、そのかし、event.targetとかいう なぞの変数なのかメソッドを使ってる。 地球のサンプルプログラム、微妙にナゾ てか、eventって変数なのに予約語なのか?んー by 👤 てかさ、さっきさ、なんでも全部グローバル変数でプログラミング て宣言しちゃったけど、 自作関数(自作function)で使用するのは、内部の変数はローカル変数にしよっーーと 第三者が、オレッちの自作関数の内部の変数をチェックする 不届き者に、変数の内容なんか教えてたくないもんねーー モピロン、自作関数以外は、全部ローカル変数できまり。 サンプルプログラムのblobとかいう変数も、プログラムの先頭で var blob; で宣言だ。こいつも何でもグローバルだぜ。 by 🤡 プロマネって地球人やめて、宇宙人にスキルアップを推奨だ by 👤 てか、そもそも、VBA でバイト配列を宣言する時、そ、 Dim BBB(6000000) as byte と云うヤツをjavascriptだと var 🎃 = new ArrayBuffer; var BBB = newUint8Array; って感じ。コーディング量が倍。オマケに見づらい。 by 🤡ボヤいてみたーーーー。てかめんどくせーって感じ ぢゃなくて var 🎃 = new ArrayBuffer(6000000); var BBB = newUint8Array(🎃); って感じぢゃねーーー。てかめんどくせー by 👤 【 var BBB = new Uint8Array(); はやめ、 var BBB = new ArrayBuffer(); だ 】 にする方向性は、変更かよ。めんどくせー var 👻 = new ArrayBuffer(6000000); var BBB = new Uint8Array(👻); by 🥳 バカテスター どちらかというと、それは👻が実体であり モピロン、BBBは霊体だぁぁぁ ある関数のスコープ外からの参照で どう見せさせられるか、予測不能だ てか by 👤ランベルト宇宙人 自称宇宙人こそ、霊体だなーーーゲラゲラ by 🥳 バカテスター しかし、 地球人からサンプルしたコードなら let buffer = new ArrayBuffer(6000000); let dv = new DataView(buffer); とのコーディングが普通のようだ(・o・;) by 👤 ランベルト宇宙人 let dv = new DataView(buffer);をやるタイミングは、 ファイル読込み完了後、かつ bufferてか、なんたら.result にbufferをセットてか ポインタ渡し❓してからぽぃ。 とにかく、結構ハマったが、目処はついたぜーーー てか、宇宙人とかテスターがイロイロ、プログラミング哲学を 語ってるが、全く参考にならん。てか javascriptのファイル操作ってめんどくせー、 なんか自称プロマネが、javascriptのトーシローの癖に イロイロ、語ってるけどさ、なに画像バイナリファイル読込みで ハマっただけだろ。あの辺りはC言語で文字列を扱うもどかしさに にてるハズだ。てか、 >>823 の「なんたら.result」ってさ、event.target.result の事のようだな。 デカイファイルなのだから、event.target.resultが そのファイルデータの格納と解釈したとしても var buf = new ArrayBuffer(6666666); buf = event.target.result; で、実体コピーな訳はアリエナイ。 ま、ハナシは長くなるが、オレのような霊能者なら bufをグローバル的な変数で宣言しても bufに、なんとかresultで、ダークコピーはアリエナイってワケ てか、嵌るのは仕方ない。ヤツは地球人だしな。 by 👤 相変わらず病状悪化のまま ランベルトとかいう病的な自称宇宙人の人間が、何か言ってるけど 気にしません。てか、bufは、実体てかポインタてかナゾだ しかしね、読込みファイルの実体をグローバル的な byte配列に格納させる事に目処たってるぜ。 てかさ、getUint8でローカル変数のファイルのをゲット そしてsetUnit8でグローバル変数の配列的なのにセット これで、グローバル的変数の配列にファイルデータの 実体は、複写できます。 てか、javsscriptの書の難解なのは、その書の 用語と以下コンセプトが丸で、意味不明だな そもそも、ダークコピーってなんだ。 普通に、「何でも丸ごとコピー」でいいぢゃーーーん ま、こちらとしては、バイナリでグローバル変数に ファイルのデータがセットされれば良い てか、VBAの666倍、ややこしいーーーー さてと、ひと休みしよーーーっと ま、何だな、javascriptのバイト配列って ヤバイよな❓てかさ、 const buffer = new ArrayBuffer(16); const view = new DataView(buffer); view.setUint8(1, 255); って地球に存在のサンプルの javascript言語のやつだけど、こらー 宇宙人、意味わかるかー by 🤡 Yes, これからの宇宙標準は、モピロン VBAプログラミング言語でこれに翻訳なら Dim view(15) as Byte view(1) = 255 その翻訳は楽勝but逆翻訳は難 である。 by 👤 ちぇっ、冷静なヤツだな。てか view.setUint8(1, 255); の代わりで、 view[1] = 255; はダメっぽい ブツブツ・・・・てか、やってられねぇー by 🤡 バイト配列への値セットが面倒なのは置いておいて せっかくだから、自作関数 pointset(v,x,y,r,g,b) とか作らせろ。vは画像のArrayBufferでさ x,y,r,g,b は項目名から解るだろ by 👤 オレッちに説教するなーー てかjavascriptでbmpから バイト配列てかメモリてかさ 読込み、ま、54byte目以降の値半分やって それをファイル書込むと、画像が暗くなる bmpの出力ファイルには成功したさ\(^o^)/ by 🤡 ルンルンてか今日さらにPG改造だぜ そういえば、自作関数 pointset(buf,x,y,r,g,b) を作成したと仮定して、bufが、配列だと bufはポインタ渡しになって、bufへの値出力が可能な様な気がする by 🤡自称プロマネ 変な事ゆうなーーー bufは値なの?ポインタなの? 変な事いうねーーー by 🥳バカテスター read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる