2012.11.28 | 

こんにちは、muchoです。
たまたま見かけたソースの中に便利なものがあったのでメモ。

配列から指定した値を取り除く!というものです。
spliceの変形です。



  Array.prototype.remove = function() {
    var i, j, l, m;
    l = arguments.length;
    i = 0;
    while (i < l) {
      m = this.length;
      j = 0;
      while (j < m) {
        if (arguments[i] === this[j]) {
          this.splice(j, 1);
          m--;
        } else {
          j++;
        }
      }
      i++;
    }
    return this.length;
  };


これだと、prototypeを書き換えてしまうので、それもどうかと思いつつ、
この機能がもともと実装されてたらいいのになーと思ったり。

使う時はこんな感じで。



  var ary = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  ary.remove(5);
  ary.remove(8, 9, 0);
  console.log(ary); //[1, 2, 3, 4, 6, 7]
  


2012.02.25 | 


記事とは関係ないけど、Fractal Noiseで遊んでみた動画
というのもHSV変換は絵がないので。
こんばんはこんばんは。muchoです。こんばんは。

以前 ActionScriptでもやったので、全然目新しくないですが、
GLSLでも変換する必要があったので作りました。




// vertical Shader

#version 120
vec3 HSVtoRGB(vec3 hsv)
{
	vec3 col;
	float hue = mod(hsv.r, 360.0);
	float s = max(0, min(1, hsv.g));
	float v = max(0, min(1, hsv.b));
	if(s > 0.0) {
		int h = int(floor(hue / 60.0));
		float f = hue / 60.0 - float(h);
		float p = v * (1.0 - s);
		float q = v * (1.0 - f * s);
		float r = v * (1.0 - (1.0 - f) * s);

		if(h == 0) col = vec3(v, r, p);
		else if(h == 1) col = vec3(q, v, p);
		else if(h == 2) col = vec3(p, v, r);
		else if(h == 3) col = vec3(p, q, v);
		else if(h == 4) col = vec3(r, p, v);
		else col = vec3(v, p, q);
	}else{
		col = vec3(v);
	}
	return col;
}

void main()
{
	gl_FragColor.rgb = HSVtoRGB(vec3(gl_TexCoord[0].x * 360.0, gl_TexCoord[0].y, 1.0));
	gl_FragColor.a = 1.0;
}


こんなかんじで、カラーピッカーもどきなグラデが描画されます。
こういうシンプルなのは今後はWEBGLでブログにアップしたいです。
今後ってのがいつになるやら・・・

2011.10.28 | 

こんばんはムーチョです。

今日は小ネタ的なメモ。
PhotoShopの長方形ツールで描画すると、
小数点以下のピクセル値になってしまい、
それぞれの辺が中途半端にぼやけてしまうのは
有名なお話だと思います。
仕方なく長方形選択ツールで塗りつぶししてみたり。
それを回避するオプションが発見されました!

長方形ツールと角丸長方形ツールのオプションに
「ピクセルにスナップ」なるものが!
デフォでオンだろこの機能!

2011.09.26 | 

こんばんわ
Devjamのコータローです。

『OS X Lion』にアップデートしたら右上に自分の名前が
表示されるようになりました。
なんとなくコッパズカシイので消す事が出来ないものかと
調べたら消す方法を見つけたのでメモ
(続きを読む...)

2011.08.10 | 

こんにちわ
Devjamのコータローです。

さて今回はIE6での印刷対応についてです。
IE6以外のブラウザーはデフォで印刷時、縮小されるので
横幅がオーバーしていてもあまり問題はないのですが
IE6にはその機能がありません。

そこで自分は、あまりよい方法ではありませんが
IE6だけzoomで対応しています。


* html body{ zoom : 70% ; }

しかし、htmlの組み方によっては
naviなど、floatで横並びにしている要素で
最後のボタンだけ落ちてしまう場合があります。
そんな時は、全体の幅を指定している箇所の幅をちょっとだけ
広げてあげると治ります。

■通常時のCSS


#page {
    background: none repeat scroll 0 0 #FFFFFF;
    margin: 0 auto;
    text-align: left;
    width: 907px;
}

■print.css


* html #page {
	width: 910px;
}

以上、コータローでした。