深夜に自作アラートで起こされる(爆笑)「Huawei「P20 Pro」でたってよ!」

作者と一緒でアホだなw

Huawei、”iPhone Xとは比較にならない”トリプルカメラ搭載スマホ「P20 Pro」
https://pc.watch.impress.co.jp/docs/news/1113862.html

ネットサーフィンなんていう死語から解放されるための、ニュースサイトの検索・巡回ツールに設定していたワードが引っかけてきたわけですが。。。

想定通りの優秀な機能ですが、寝ていようがお構いなくアラート出して、連続でピコピコ起こしてくれましたil||li _| ̄|● il||li
お休みタイマー付けるほどではないものの、記者の方もこの時間に更新とか寝てください^^;

何でもかんでもツールに頼るのはよくないって事ですなぁ
F5やDoS対策で巡回タイマー時間長くなってるフリーツールと同じ機能のツールですが
公開はしてませんです。バグだらけですw

バーゲンセールをつり上げてくれたりするのに重宝している反面、広告に弱いです。
あやしい地雷踏まされます。架空請求引っかけても責任とれないのでお察しでm(__)m

ゲームの活動・労働や時限イベントなど複数のタイマーにせかされてる自分が悲しいです
さらに自分で設定したキーワードで睡眠まで削られる始末(^◇^;

TVと一緒で余計な記事、記者はNOT排除して時短したいだけなのに余計に時間取られているような…
目が覚めて練れない悲しさ・・・(・・ゞポリポリ

(C#)「McImageConverter」0.0.7α版 更新

(C#)「Mc Image Converter」Windows Java版(コンソール入力)spigotサーバー向け。マイクラ用画像toコマンド変換ツール0.0.7α版(OS64bit)

自作ツール更新。
ガラクタツール置き場はこちら→http://nln.jp/software/

・座標指定1MAP出力の進捗表示修正
・コマンド実行(貼り付け)時は置きたいブロックの座標から128ブロック以内に居るようにしてください。仕様です^^;
・コマンド保存ファイル名周り変更 ・コマンドの地図単位出力を一筆書きに変更
(左上からら右方向に書いて、次の段(奇数段)は右から左に書く感じです)

白地図持って歩きながら作成していく感じで
m(__)m

(C#)「Mc Image Converter」Windows Java版(コンソール入力)spigotサーバー向け。マイクラ用画像toコマンド変換ツール0.0.6α版(OS64bit)

卒業シーズンってことで、卒業式っぽい画像でアップデート!ヽ(*^。^*)ノ
いや、春分の日が…暇だったんで。寒いし出たくないし。

※画像をマップに落とし込むツールは多々ありますので、デバッグが済んでいるそちらをお使いください。いいMODもたくさんあります。
デバッグが追いつかず、フリーズする場合があります。その場合は利用をやめ削除してください。
利用についてはダウンロードページをお読みください。

ワールドのブロックデータをダイレクトに変更するので、設定を間違えると意図しない所のブロックが置き換わります。
小さいデータで見える位置を確認しましょう。

「ご利用に当たっては自己責任でお願いいたします。」

・コマンド・マップカラーなど技術検証をおこなう為の物でデバッグは最低限しか行っていません。
・想定外の動作(画像読み込まずに変換ボタンなど)を押すと止まると思います。仕様です。
・画像処理にMagick.NETを利用しています。ライセンスなどは同梱していますが、解釈により人それぞれ見解があり法的に詳しくないので一般的な対応を取っています。
・内部で持っているカラーデータは「MineCaft1.13-New Default Betapack V2.zip」対応です。カラーデータファイル読み込みで今後対応予定。
csvファイルで、ID,meta,R,G,B を1行で書いてください。(ハルさんの画像変換ソフト同梱のデータのような感じですが、数値データ以外は削除してください)

諸事情により、前置き注意書きが長いツールに手を出してしまった(^◇^;

そんなこんなで、タイトルももっさりと変更してちまちま遊びたいと思います。
Windows98の頃のデフラグ画面を見ているような感じの動作になっています。

元画像を地図にしたいデータに拡大縮小トリミング

ツールで読み込んでディザ処理。このデータをコマンドに変換

512×640の画像を128x128の地図にして並べる(下の方は気にしないでください^^;)

コマンドのテキストファイルは約17MB。
i7-3700TのCPUのコピペで処理に約30分かかります(^◇^;

クライアント画面(v0.0.6α)


動作はバージョンによって変わります。古いエロそうな画像回収で寄り道してます。
画像はぱくたそさんのデータを使わせていただいております。

自作ツール更新。
ガラクタツール置き場はこちら→http://nln.jp/software/

(C#)「Minecraft Image Converter」1Pixcelの再現のテスト。(1.13v2対応)。

1:1で、1ブロックが地図の1Pixcelになるという記事があります。
8x8ブロックで最大のブロック数以外は反映されないという説明もあり。

まぁ聞くよりテストした方が早い&確実?(^◇^;

妄想)1:2以降の縮小表示(地図1枚の表示範囲の拡張を行った場合)は、標準マップサイズ(3段階、1:8らしい)を基準に書かれているので、1:8表示だと1/8になるので、8x8ブロックが1Pixcelになるって感じだろうか。
脳内補完でつじつまを合わせる’`,、(´▽`) ‘`,、

元画像を適当に作る

地図画像。1ドット(Pixcel)を1ブロック変換して表示。良い感じにそのまま表示され取りま(^_^)v
足下に地固めは重要ですね!(今さら感たっぷり!)

って~事は、変換さえ間違いなければそのまま表示されるって事で・・・(^◇^;
うまく表示されないのは間違ってるって事っすなil||li _| ̄|● il||li

元画像がしっかりしてれば、解像度が低い場合、ディザとか使わない方が素直に表示されますね。

(C#)「Minecraft Image Converter」現在そのまま反映(再現)できる燃えるブロックの安全色(1.13v2対応)。

マインクラフトの地図とフォトショップでそのまま持って行ける色を考える。
骨は拾ってくれ・・・的な、足跡残しておこうという・・・(^◇^;

元画像。WoolとWoodを並べて地図画像を保存した物。フォトショップ使える人はこのファイルからカラーパレット22色を保存して絵を描けば地図で見れる色が再現できます。
(燃やせます)

1:1の地図。


1:2の地図。

この記事から先は1:2は全く効率的に悪いので除外します。Grid表示のみスケール感で残しておく感じ。
Targetは「1:1」だ!ヽ(*^。^*)ノ
まぁ今のところこの画質では地図にして並べても使い道がないと言うことでm(__)m

テクスチャ差し替えと比較するのは許してくださいヘ(゚∀゚ヘ)アヒャ

早くも心が折れてます(^◇^; mod使えば?とかテクスチャ変えれば?って事ですよね…

休憩がてら愚痴を書く。
趣味2つを満足させられる一石2鳥の作業のはずが、負荷が乗数的になってきた!

バニラにこだわる必要もないかっていう挫折・゚・(ノД`)・゚・
プログラミングで変化がなくて一番のつまらないところ^^;

いろいろ、奥が深いね!

2ヶ月くらいで6年分の積み重ねに追いつこうとか浅はか!w

ブロック並べるのと地面に置くのと地図に表示するのは、それぞれ条件が違うって事で、今使用を見直してます。
(いまさらかい!まぁ仕様も知らずよくここまで作ったもんだw)

「リソースパックいじれば…」テクスチャ入れ替えて保存だけでいけるもんね…
「mod…」高性能の写真変換あるよね…

なので何も期待しないでください。思考停止~(^◇^;

—-
コマンド貼り付けたら、うちの環境では4000コマンド(ブロック)のテキストを貼り付けたくらいでレスポンスがなくなりクライアントが落ちます(爆笑)

クライアントが落ちると、読み込まれていたチャンクも解放されて、コマンドがキャンセルというか、[out of world」って事でエラーが出ておけなくなります(´・ω・`)

まぁ、地図にするとブロックの色が変わるあたりの補正が面倒で…
マップ1:1に限定して煮詰めていますけど、ゴールが見えたと思ったら最初の給水所って感じで遠いっすなぁw

当たり前のようにサンドブロックは高さがあると落ちるし、金属ブロックはグレーになったりするし^^;

https://minecraft-ja.gamepedia.com/地図アイテムフォーマット
「地図アイテムフォーマット」
この記事は内容の更新を必要とします。
情報の一部は、現在の最新バージョンには適応されません。

全使用ブロックカラー調べる作業が・・・とほほほ。
1.13になってからでいっかぁ(逃げ逃げ)

「logも燃えるよ!」とか、「置く方向もあるよ!」とか生暖かい応援のの一言が突き刺さります・゚・(ノД`)・゚・

普通の方はこれでいいんじゃないかと思います。写真を地図にする方法を動画で紹介しています。
【Minecraft】地図を使って画像から絵画を作ってみた
http://www.nicovideo.jp/watch/sm22511445

テクスチャ変更の記事など。
マイクラ風土記
~サラ・ワールドの記録~「好きな絵を飾りたいよね」
https://holy-sarah.ssl-lolipop.jp/minecraft/2016/09/15/好きな絵を飾りたいよね/

modはこんな感じ( BiblioCraftの導入)
[Minecraft] 絵画を自由に追加・選択して貼る方法(マイクラver1.7以降)
http://fukafuka295.jp/game/bibliocraft_paintings.html

まぁバニラと言ってもコマンド使うあたりで、すでに棺桶に足を突っ込んでいるバニラですが!
確定申告もまだ終わってないのにこんな子としていて良いんだろうか・゚・(ノД`)・゚・

[VisualStudio2017] C# でTextBoxに連続で大量の文字列を追加すると遅くなるので、高速化を考える。みんなほんとに早くなってる?^^;

2018/03/21 追記:表示更新用のDoEventが重かったり、処理によってはファイルに書き出して、読み出した方が早いです(^◇^;
BMP1600万ピクセルのカラーをテキストボックスに書き出しなど、メモリ内でやる方が馬鹿ですがヘ(゚∀゚ヘ)アヒャ

「実際に思いつく限り試して早いやつで!」
おま環でした。
—-

結論:ゲームプログラミングでは当たり前のダブルバッファ的な手法を使います。
(キャッシュから外れるような大きいデータアクセスをしていると、他のサイトでたくさん書かれている方法ではあまり早くならなかったので・・・)

フォームに配置したTextBoxにテキストを追加するのは非常に遅いのは文字表示プログラム作ったことがある人なら誰でも分かることですが、一般的な高速化技法で書かれているサイトを見ても効率は大して変わらなかったんじゃないかなと思います(^◇^;
テキストが追加されると描画されちゃいますもんね^^;

SelectIndexとかAppendTextでも全然話にならない重い処理(データ量よりも、TextBoxへの処理回数)。ただ追加するだけでも128×128のピクセル情報を書き出すと気が遠くなります
。軽く1万6000回超えますものねヘ(゚∀゚ヘ)アヒャ
今のPCなら1秒に1行程度の出力ならどんな方法でも体感できる遅延とか負荷はないと思います。

私も通常のログ出力はこちらを使わせていただいてます。

私がC#でログをテキストボックスに書き出す時に使用していたコード
http://upa-pc.blogspot.jp/2014/04/c.html

かといって、別の管理方法導入するほど真面目なお金の発生するプロジェクトでもデバッグできる時間もないのが日曜プログラミングですものね・・・

そこで、フォームに置かず、でもTextBox的な処理はやりたいそういうときに、内部でもう一つ用意して内部TextBoxに処理を行い結果を貼り付ける。
これで「大抵」はなんとかなります(^◇^;

仮想とか、仮とか、テンポラリとかハイドとかまぁ概念は一緒です。
proc()
{
TextBox textBoxTemp = new TextBox();
ループ
{
textBoxTemp.Text += “追加する文字列”;
}
textBoxDisp.text = textBoxTemp.Text;
}
(イメージ)

株トレードも一緒です。どこでも使えば良いって物ではないですが、知ってる人は当たり前のように使う方法ですね。

—-
キャッシュから外れる大きいデータにアクセスしてますm(__)m
シンプルに後ろに文字列くっつけるだけです。128x128回、処理を呼び出してます。
このプロセス以外は同じ処理です。
約16,700行、700KBくらいのデータ生成です。
普段ならファイルに書き出す処理ですね^^;

それをクリップボ・・・こことは関係ないか(^◇^;
デバッグモードなので、実速度は不明です。

速度計測してみる。
1回目:(TimeStamp:00:00:06.0519016)
2回目:(TimeStamp:00:00:06.1209471)
3回目:(TimeStamp:00:00:06.0617603)

Releasec:(TimeStamp:00:00:06.1811334)

private void OutputDataLine(string logText)
{
textBoxLog.Text += logText + “\r\n”;
}
—-
・普段使い用。表示行削ったりいじるときに便利だよね…
1回目:(TimeStamp:00:02:58.5319648)
2回目:(TimeStamp:00:03:04.6596441)
3回目:(TimeStamp:00:03:06.4340553)

Release:(TimeStamp:00:02:54.6543528)
private void OutputDataLine(string logText)
{
textBoxLog.Select(textBoxGen.Text.Length, 0);
textBoxLog.SelectionStart = textBoxLog.Text.Length;
textBoxLog.SelectionLength = 0;
textBoxLog.SelectedText = logText + “\r\n”;
}
—-
・後ろに追加するだけ
1回目:(TimeStamp:00:01:21.4883463)
2回目:(TimeStamp:00:01:27.0448043)
3回目:(TimeStamp:00:01:24.1339280)

Release:(TimeStamp:00:01:18.2318539)
private void OutputDataLine(string logText)
{
textBoxLog.AppendText(logText + “\r\n”);
}

とりあえず、原因は不明。
目標レスポンス(銀行のATMとか)3秒とは行かない物の我慢できる範囲に向上したので、高速化の時間はまた別の時に。

これだけなら長い文字列作ってテキストに追加など、回数減らした方がもっと早くなると思う。
しかし遅いと言われてる処理の方が早かったり、最適化が進んだのか他の呼び出し処理の存在とか何だろうね^^;
6秒と80秒とか話にならない何かが!w

深追いはしないのです。引退して気楽なおっさんは!’`,、(´▽`) ‘`,、

いやぁこの先・・・数百万行の書き出し処理テストが…il||li _| ̄|● il||li

(改名)「Minecraft Image Converter」と、名前を変えて特化することにしてみた。

作り直すのもなんなんで、プロジェクト名変更で・・・(毎度てきとー^^;)
うっかり名称変更するとはまります、
namespaceは右クリックから名称変更で。

Visual Studioでプロジェクト名称を変更する

先人の知恵“φ(・_.) メモッ!
自分で書いたら6ステップくらいになっちゃう文章力のなさ(^◇^;

で、ほぼ作り直しなんですが、遺産をも人間関係も捨てるのがもったいない性分の私としては、まるごと移動するだけで対応。
必要な物を作り込んでいく。

画像はフリー画像で有名な「ぱくたそ」さんから。数十回読み込みに耐えれる画像を選択(^◇^;
ファイルを読み込むとこんな感じ。

ディザ適応された感じ。

まぁここはメインじゃないけど1日かかってしまった^^;
ここから先が大変なのに、画像処理の勉強とソースの理解と全然分かってないです。
表示できればなんとかなるっしょ!(^◇^;

—-
BMP以外も読み込めるようにしてみた!
まだメモリががっつり必要です。処理が遅いです(^◇^;
ゴールが遠い・・・

課題:途中で高速化・最適化して時間を取られる。反省。
(ちゃんと動く物ができてから、枝葉を作りましょう!)

BMPIndexInfo v1.0.0ベータ版の“φ(・_.) メモッ!

BMPIndexInfo

うむむ。
最初思ったことはなんとかできた。
振り幅がないというか余裕がない動作条件だ(^◇^;

・フォトショップの[.act]ファイルが扱える環境が必要(カラーパレットとIndex番号いじれるほかのツールがあれば代用可能)
 [.act = アドビ カラー テーブル?]
・BMPをインデックスモードに変換(確定前に、「カスタムパレット」→「カラーテーブル読み込み」の必要あり)するくらいのやる気が必要

そのファイルを読み込むと、[setblock]コマンドと[座標]と[ブロックID]をテキストファイルに書き出せます。
パレット固定でのインデックス番号がそのままブロックIDに置き換わるので融通が利かないです。

コマンド入力できる環境でコマンド一覧をペーストすれば、ブロックを並べてくれます。

WorldEditとか使わずできます!それだけw
新しいツール覚えるの面倒なんで・・・(まだいうか^^;)

これをたたき台にして、他のファイルも読めるようにして、方角も4方向だけでなく・・・
フレと相談しながら新仕様を煮詰めます。

あ、外部ソフト使わないのが一番ですね(^◇^;
(シンプルで、いじらないのが一番安定してるんだろうけど)

確定申告済ませてまた頑張ります(^_^)/~
やば、今日も寝てない!w

追記:色が違うとか、大きいファイルがだめだとか、いろいろあってダウンロードのリンクは下げました。(・・ゞポリポリ
そのうちまたなんかすると思いますm(__)m

ひょんな事からヘンテコツールを妄想中。マイクラ用にBMPのIndexの情報をコマンドで書き出すツール。の“φ(・_.) メモッ!

燃えるブロック(ウールと木材)のデータで作られたパレットのみで出力されたBMPデータ情報を書き出すツール。

Aパターン:インデックス番号のみ。
Bパターン:ブロック番号(インデックス番号をブロック番号に置き換える)
Cパターン:セットブロックコマンド+ブロック番号
Dパターン:セットブロックコマンド+座標+ブロック番号

うむむ。AとDだけあればとりあえず用は足りますね。
—-
ウール16色+木材6色


(上2段が羊の近似色、下が木材の近似色)
静止画からカラーピッカーで見ただけなので適当です。[ここの適当が重要かも^^;類似色検索は曖昧さが必要なので…たぶんね!]

アップデートで色が変わりますm(__)m
サンプルは1.13v2のテクスチャを使っています。

ver 1.00a:稼働したかも。(アルファ版)
-パレット固定のためパレット順が変わると狂う。これなんとかしたら公開?
-「ハルの画像変換ソフト」があるので不要

・・・終了?(^◇^;

途中まで作ったんでプログラミングのリハビリにもうちょっといじります。
類似色検索ではまっているので先に進まない感じ。
奥が深い!
フォトショは4.01(XP)とか7(Windows7)とかCS2(Windows7)とかエレメンツ(Windows10)とか使ってます。
PV4録画用に32bitXP現役ですがデバッグ面倒なのでWindows10の64bitのみ対応で行きます。



パレット固定だとちょっちじるだけで狂うので、修正します。
パレットに白色が入る気がする?なんだろ。22色で作っても23色になるのね…
これも調べないと。

あとはOpenCVとかMagick.NETとか思考錯誤というか、あがいてみます(^◇^;
完全に溺れてる感じですが!