スキップしてメイン コンテンツに移動

p5jsでpngをBase64文字列にしてコードに埋め込んでspriteに









Blogger上でp5jsでsprites用の画像を扱うのが面倒そうなので
文字列にして埋め込んでみる
変換コードもコピペしたので残す 
imageで読み込む際に文字列の頭にこれをつける'data:image/png;base64,'


<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script>
<div id="p5canvas"></div>
<script>   

let img;
let spx=10;
let spy=10;
let timer=0;

function setup() {
  createCanvas(400, 200).parent("p5canvas");
  frameRate(30);
  img = loadImage('data:image/png;base64,'+
  'iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAMAAABA3o1rAAADAFBMVEUAiACIAIi7u7uqzO4AAAAzIiJEMzOId2aZiIi7qqrdzLv/7t3///9VEQB3EQCqIgDMMwD/RAD/dxH/uxH/3SL/7ncRIndEVf9mzP+I3f+7//+ZzO677v8zRBEzZhGI3QC7/wARmXciAEREEVXMZojumar/zN27RFXuu8x3MyKZRETMd2b/mZkzIhFVMyKIVUSZd1W7iGbMqnfuzKr/3cwiEQBEIhGqZiLMdzPdiETumVX/u2b/3Yjd3VURMzMRd3cRu7sR//93ZruZd+4zM2ZmZpmZiLvMu+7//+6ZmaqIiIj/AP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP+9hPPFAAAAAXRSTlMAQObYZgAAAAd0SU1FB+YKGQQ3OaNj0msAAAFZSURBVHjaZVFdSwJBFD3jbpbrVysLPWwamKyW9AX2kOgfsN9bL73agxDRB7Ti2hayllIQtBuVrU53RqOvC3PnzNxzDvfOIJGAjNkmQ1XV6ZanFBAjmJZLbZH3Ow70pEC+ZCGo2xskWDiiGg5QkB6TbzcYk+LElnj1EhmGw4YDrdCl85ZIqgHO06/bvGM8NhXk4eouwF6EIJAOFhFQ9+6K7Mt2mHnm9/CwPBCnCO94Y6DrO5wkwXRBiExOicwMKyV1JxizvETXeJorwd4BYp5LTeIhdoo1wLLB2RXWBSc7gH4LJEU7GaRzQC+t8TaynMbRFHqAPenVd8WYWAG80eIFXRgsh4/zEWD2Zo8QggFxPYxw/y0EasM+zKUmVHM2UF8Qqi7zd9ul0TFq86RQw/fmj29BhJpUUo4ipjxTb1ottPA3tAr9REUgi3Ij/o9QLgPFqkDRKK3N39VPI2h1VzbxKN4AAAAASUVORK5CYII=');
}

function draw() {
	background(0);
	img.resize(32*4,16*4);
	
    if(spx>mouseX)spx--;else if(spx<mouseX) spx++;
    if(spx<0)spx=0;if(spx>350)spx=350;
    if(spy>mouseY)spy--;else if(spy<mouseY)  spy++;    
    if(spy<0)spy=0;if(spy>150)spy=150;
    timer++;
    if(timer>5000)timer=0;
    let flg=parseInt(timer/8)%2;
    image(img, 10, 10, 10*4, 16*4, 10*4, 0, 10*4,16*4);
    image(img, 90, 15, 10*4, 16*4, 0, 0, 10*4,16*4);
    image(img, 150, 30, 10*4, 16*4, 20*4, 0, 10*4,16*4);
    if(flg==0)
    	image(img, spx, spy, 10*4, 16*4, 0, 0, 10*4,16*4);
    else
    image(img, spx, spy+4, 10*4, 15*4, 0, 0, 10*4,16*4);    	
}
</script>

コメント

このブログの人気の投稿

Blogger でp5jsがつかえた

”HTMLビュー”でHTMLを編集  divとcanvasを関連付ければ良いみたい (div id="p5canvas とcreateCanvasの.parent("p5canvas");) p5js本体はCDNを参照(https://cdnjs.com/libraries/p5.js) コードはP5サイトのEXAMPLEから(https://p5js.org/examples/3d-geometries.html) <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script> <div id="p5canvas"></div> <script> function setup() { createCanvas(710, 400, WEBGL).parent("p5canvas"); } function draw() { background(250); translate(-240, -100, 0); normalMaterial(); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); plane(70); pop(); translate(240, 0, 0); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); box(70, 70, 70); pop(); translate(240, 0, 0); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); cylinder(70, 70); pop(); ...

Arduino IDE が "Downloading index: library_index.tar.bz2" で固まる問題

PCとのシリアル通信が原因の一つらしい '/home/usename/.arduino15/packages' を消すといいらしい ので消すと治った IDEの起動中にフリーズしてたのが治った Downloading index: library_index.tar.bz2 とダウンロード中だったが終了したので起動中のフリーズが起こるようになった

ubuntu20で古いスキャナを使う

 断舎利のため古くなった本を自炊 スキャナはCANNON DR-C125  前はWINDOWS今はubuntuなのでハマったが なんとかしたらなんとかなった まずsane は入ってたから、libsane1,  libsane-common,  sane-utilsをインストール sudo apt update sudo apt install libsane1 sudo apt-get update sudo apt-get install libsane-common sudo apt-get update sudo apt-get install sane-utils どれが必要あるのか無いのかわからなかったので全部入れてみた ubntu用ドライバは 以下 のサイトから https://www.canon.co.uk/support/products/document-scanners/dr-series/imageformula-dr-c125.html?type=drivers&language=&os=linux ダウンロードしたのがこれ d1224mux_dr125_lnx_drv010.zip  解凍して cndrvsane-drc125_1.00-0.1_i386.deb をインストール の途中でエラーで止まる 詳細は 以下 のサイトに書いてあるようなことらしい https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1728012 ubuntuのバージョンアップでsanaのディレクトリの構成が変わったからみたい なので /usr/  lib/sane を作りもう一度インストールすると成功した ディレクトリのなかにはファイルが3つ それらを usr/lib/x86_64-linux-gnu/sane に移動  /usr/  lib/sane は削除 以上でドライバのインストールは出来た これだけが原因なら他の古いスキャナのドライバのインストール もできるんじゃないかしら WINDOWS には CaptureOnTouch なる ソフトがあったがubuntuにはない ので xsane を導入 sudo apt-get upd...