Documentation generator: JsDoc Toolkit 2.4.0
Template: Codeview 1.2
Generated on: 2016-0-4 21:24

Class enchant.Surface

canvas要素をラップしたクラス. enchant.Spriteenchant.Map のimageプロパティに設定して表示させることができる. Canvas APIにアクセスしたいときは enchant.Surface#context プロパティを用いる.

Class Summary
Constructor Attributes Constructor Name and Description
 
enchant.Surface(width, height)
Field Summary
Field Attributes Field Name and Description
 
Surfaceの描画コンテクスト.
 
Surfaceの高さ.
 
Surfaceの横幅.

Method Summary

Method Attributes Method Name and Description
 
Surfaceの全ピクセルをクリアし透明度0の黒に設定する.
 
Surfaceを複製する.
 
draw(image)
Surfaceに対して引数で指定されたSurfaceを描画する.
 
getPixel(x, y)
Surfaceから1ピクセル取得する.
<static>  
enchant.Surface.load(src, callback, onerror)
画像ファイルを読み込んでSurfaceオブジェクトを作成する.
 
setPixel(x, y, r, g, b, a)
Surfaceに1ピクセル設定する.
 
SurfaceからdataスキームのURLを生成する.
Methods borrowed from class enchant.EventTarget:
addEventListener
clearEventListener
dispatchEvent
on
removeEventListener

Class Detail

enchant.Surface(width, height)
// 円を表示するSpriteを作成する
var ball = new Sprite(50, 50);
var surface = new Surface(50, 50);
surface.context.beginPath();
surface.context.arc(25, 25, 25, 0, Math.PI*2, true);
surface.context.fill();
ball.image = surface;
Parameters:
{Number} width
Surfaceの横幅.
{Number} height
Surfaceの高さ.

Field Detail

{CanvasRenderingContext2D} context
Surfaceの描画コンテクスト.
{Number} height
Surfaceの高さ.
{Number} width
Surfaceの横幅.

Method Detail

  • clear()
    Surfaceの全ピクセルをクリアし透明度0の黒に設定する.
  • {enchant.Surface} clone()
    Surfaceを複製する.
    Returns:
    {enchant.Surface} 複製されたSurface.
  • draw(image)
    Surfaceに対して引数で指定されたSurfaceを描画する. Canvas APIのdrawImageをラップしており, 描画する矩形を同様の形式で指定できる.
    var src = core.assets['src.gif'];
    var dst = new Surface(100, 100);
    dst.draw(src);         // ソースを(0, 0)に描画
    dst.draw(src, 50, 50); // ソースを(50, 50)に描画
    // ソースを(50, 50)に縦横30ピクセル分だけ描画
    dst.draw(src, 50, 50, 30, 30);
    // ソースの(10, 10)から縦横40ピクセルの領域を(50, 50)に縦横30ピクセルに縮小して描画
    dst.draw(src, 10, 10, 40, 40, 50, 50, 30, 30);
    Parameters:
    {enchant.Surface} image
    描画に用いるSurface.
  • {Number[]} getPixel(x, y)
    Surfaceから1ピクセル取得する.
    Parameters:
    {Number} x
    取得するピクセルのx座標.
    {Number} y
    取得するピクセルのy座標.
    Returns:
    {Number[]} ピクセルの情報を[r, g, b, a]の形式で持つ配列.
  • <static> {enchant.Surface} enchant.Surface.load(src, callback, onerror)
    画像ファイルを読み込んでSurfaceオブジェクトを作成する. このメソッドによって作成されたSurfaceはimg要素をラップしており enchant.Surface#context プロパティに アクセスしたり enchant.Surface#draw, enchant.Surface#clear, enchant.Surface#getPixel, enchant.Surface#setPixel メソッドなどの呼び出しでCanvas APIを使った画像操作を行うことはできない. ただしenchant.Surface#draw メソッドの引数とすることはでき, ほかのSurfaceに描画した上で画像操作を行うことはできる(クロスドメインでロードした 場合はピクセルを取得するなど画像操作の一部が制限される).
    Parameters:
    {String} src
    ロードする画像ファイルのパス.
    {Function} callback
    ロード完了時のコールバック.
    {Function} onerror Optional
    ロード失敗時のコールバック.
    Returns:
    {enchant.Surface} Surface
  • setPixel(x, y, r, g, b, a)
    Surfaceに1ピクセル設定する.
    Parameters:
    {Number} x
    設定するピクセルのx座標.
    {Number} y
    設定するピクセルのy座標.
    {Number} r
    設定するピクセルのrの値.
    {Number} g
    設定するピクセルのgの値.
    {Number} b
    設定するピクセルのbの値.
    {Number} a
    設定するピクセルの透明度.
  • {String} toDataURL()
    SurfaceからdataスキームのURLを生成する.
    Returns:
    {String} Surfaceを表すdataスキームのURL.