png画像からデータを読み取るscript
使い方:ページボタンを押してpngを選ぶとデータが読み取られて最下部に書き込まれる
↓のコードブロックをコピペして自分のページに貼る
code:script.js
import "/api/code/work4ai/png画像からデータを読み取るscript/mod.js";
ちょいちょいバグあったりすると思いますがとりあえず動くので置いときますwogikaze.icon2022/11/12(土)
ちょっとだけrefactorしましたtakker.icon2022/11/13
+1wogikaze.icon
対応してないpng画像もあると思うのでうまくいかなかった画像をここに置いてくれると対応しやすいですwogikaze.icon
code:mod.js
scrapbox.PageMenu.addMenu({
title: 'input image',
onClick: () => {
const ifelm = document.createElement("input");
ifelm.type = "file";
ifelm.onchange = (input) => {
let reader = new FileReader();
reader.onload = () => {
const result = new Uint8Array(reader.result);
const index = readbinary(result);
/*const txt = index.map(
(i) => code:${i.split("\x00").join("\n ")}
).join("\n");*/
//元のコードに直しちゃった
let txt ="";
for (let i = 1; i < index.length; i++) {
txt = txt + "code:" + indexi.split("\x00").join("\n ") + "\n"; }
//
const body = encodeURI(txt);
// 新しいタブで入力
window.open(/${scrapbox.Project.name}/${scrapbox.Page.title}?body=${body});
};
reader.readAsArrayBuffer(input.target.files0); }
ifelm.click();
},
});
code:mod.js
/** 画像のバイナリを取得 */
function readbinary(result) {
let k = "";
for (let i = 0; i < result.length; i++) {
k = k + readhex(resulti.toString(16)); }
const arr = k.split("tEXt");
const index = arr.map(e => {
const k = e.split("IDAT")0; return k.slice(0, -8);
})
return index;
}
/** 16進数を文字列に */
function readhex(s) {
let result = "";
for (let i = 0; i < s.length / 2; ++i) {
result += String.fromCharCode(0x${s.slice(i * 2, (i + 1) * 2)});
}
return result;
}
ここからテスト用
https://gyazo.com/841d9099f0bcb1f45b115cd965b5ed5c
この画像を読み込んだwogikaze.icon
変なコードブロックが先頭に出てくるようになってしまいましたtakker.icon
ロジックはいっさい弄っていないはずなのですが……これなんのデータなのかわかりますか?
まぁバイナリ読み込んでいらないところ削ってるだけなので削り取れないとこうなりますwogikaze.icon
なんだこれ...?あぁなるほど理解した、PNGの最初のシグネチャが入っちゃってますね、8byte削ります もともとfor(i=1;i<index.length;i++){}で回していたのをindex.mapにしたのでたぶんそこ
なるほど~そういえばs.length / 2でしたね。うっかり見逃していましたtakker.icon
mapでやるなら`.slice(0, s.length / 2).map(i => )
いやそもそも、sの中身を順番に回しているわけではなかったのか
これでどうだwogikaze.icon
奇麗じゃないけどこれでどうだ
同じの出てきましたnomadoor.icon
なんだろこれ…
code:PNG
IHDR
code:Title
AI generated image
code:Description
masterpiece, best quality, {watercolor_{medium}}, {{ukiyoe style}}, {{{masterpiece}}}, {{{best quality}}}, {illustration}, {{{{1 girl}}}, {solo}, {{an extremely delicate and beautiful}},blond hair,straight hair,slanted eyes,swept bangs,small breast,white dress,long dress,sleeveless,indian style
code:Software
NovelAI
code:Source
Stable Diffusion 81274D13
code:Comment
{"steps": 50, "sampler": "k_euler_ancestral", "seed": 851628781, "strength": 0.5, "noise": 0.2, "scale": 7.4, "uc": "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, lowres,bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry,missing fingers,bad hands,missing arms, long neck, Humpbacked,shadow,long body, Abnormal fingers,nsfw,leg,blue skin"}
code:
code:comment
code:date:create
2022-10-10T12:02:29 09:00
code:date:modify
2022-10-10T12:02:29 09:00
code:Description
masterpiece, best quality, girl, school uniform, blonde hair, pigtails
code:Software
NovelAI
code:Source
Stable Diffusion 1D44365E
code:Title
AI generated imageñR£
なんかおかしい...
code:Title
AI generated image
code:Description
masterpiece, best quality, {watercolor_{medium}}, {{ukiyoe style}}, {{{masterpiece}}}, {{{best quality}}}, {illustration}, {{{{1 girl}}}, {solo}, {{an extremely delicate and beautiful}},blond hair,straight hair,slanted eyes,swept bangs,small breast,white dress,long dress,sleeveless,indian style
code:Software
NovelAI
code:Source
Stable Diffusion 81274D13
code:Comment
{"steps": 50, "sampler": "k_euler_ancestral", "seed": 851628781, "strength": 0.5, "noise": 0.2, "scale": 7.4, "uc": "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, lowres,bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry,missing fingers,bad hands,missing arms, long neck, Humpbacked,shadow,long body, Abnormal fingers,nsfw,leg,blue skin"}
code:parameters
1giel
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2931692648, Size: 512x512, Model hash: 26f53cad
https://gyazo.com/6e341e3983d52a194253d213bea20a26
code:parameters
masterpiece ,best quality ,detailed gradient eyes,cutie girl,sundress,(underwater ruins),sunlight,sorrounded bubbles ,scenic view
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 829640045, Size: 512x512, Model hash: 26f53cad