2007-01-01から1年間の記事一覧
ブラシのプレビュー画像が描画されない場合があります (マウスやタブレットの場合は問題ないのに)。時間情報 (bs_ms()) を使った場合に起こりやすい問題です。 if bs_preview() then プレビュー時の特殊処理をここに挟む end のような感じで、bs_preview() …
ブラシスクリプトを作成の際には、是非とも当記事にコメントやトラックバックください。 宜しくお願い致します。
ブラシスクリプト用ライブラリです。 http://d.hatena.ne.jp/MDIAPP/20100510/1273462593 (ストロークライブラリ
指定のない通常のモードでは、カラーレイヤーならRGB好きな色を指定して描画できます。しかし、半透明で描画した際に、重なる部分が濃くなってしまいます。滑らかなブラシ処理には向きません。そこで、 bs_setmode( 1 ) というコードを初期化部分に追加する…
ブラシによっては、細いものを推奨するものもあれば、太いものを推奨するものもあります。 function default_size() return 17, 0.25 end という関数をスクリプト内で定義しておけば、デフォルトの幅、デフォルトの最小サイズを指定することができます。この…
function param1() return "param1", 0, 100, 50 end function param2() return "param2", 50, 100, 75 end function param3() return "param3", 10, 20, 15 end function param4() return "checked", 0, 1, 0 end function param5() return "unchecked", 0,…
左右対称・回転対称ブラシなど、基点(基準点)が必要な場合があります。 基点が必要なブラシは、キャンバス上でCtrl+クリックをする事で基点が指定できます。 http://www.nattou.org/mdiapp/bs/sayu-taisho.bs (左右対称 http://www.nattou.org/mdiapp/bs/k…
r,g,b,a = bs_pixel_get( x, y ) alpha = bs_pixel_get_alpha( x, y ) bs_pixel_set( x, y, r,g,b,a ) bs_pixel_get( x, y ) x,y座標のRGBA値を取得します R,G,B,A = 0~255 1,8bppレイヤーのA値は、常に255です bs_pixel_get_alpha( x, y ) x,y座標のA値 (…
w = bs_width() w = bs_width_max() w = bs_width_min() bs_width() 筆圧を適用したブラシ幅(直径)を取得します bs_width_max() ブラシの最大幅を取得します (最大筆圧時の直径) bs_width_min() ブラシの最小幅を取得します (最小筆圧時の直径) distance …
mdiappはブラシ処理でスクリプト(Lua)を用いたプログラム制御が行えます。 http://staff.aist.go.jp/yutaka.ueno/lua/docsjp.html (Lua言語について プログラム制御をすることで、 http://d.hatena.ne.jp/MDIAPP/searchdiary?word=*[Brush] (ブラシ一覧 http…
APIの公開前からHackして (笑) ご指摘頂き、色々と刺激を頂いた id:XELF:20060909:1157770657 さんに感謝致します :D
mdi_dialog_ok( caption ) captionを表示する、情報ダイアログを表示します。 res = mdi_dialog_yesno( caption ) captionを表示する、情報ダイアログを表示します。yesの場合は0, noの場合は1, その他の場合は-1が戻り値になります。 res = mdi_dialog_yesn…
mdi_undo_layer() アクティブなレイヤの編集に大して、アンドゥ対応をし保護をします。 mdi_undo_all() ドキュメント全体の編集に大して、アンドゥ対応をし保護をします。
res = mdi_select_enabled( alpha ) 選択範囲が有効かどうか返します。1なら有効、0なら無効です。 value = mdi_select_pixelget( x, y ) 選択範囲の画素 (8bpp) を取得します。選択範囲が無効なら、常に255が返ります。選択されている部分は255, されていな…
mdi_img32_bltmode_copy() 転送元画像のr,g,b,aをブレンドなしで完全上書きする転送モードです。 mdi_img32_bltmode_normal( alpha ) mdi_img32_bltmode_mul( alpha ) mdi_img32_bltmode_add( alpha )
num = mdi_layer_num() レイヤー数を返します activeIndex = mdi_layer_active() アクティブなレイヤー番号を返します bpp = mdi_layer_type() レイヤーのbppを返します w,h = mdi_layer_size() レイヤーの幅・高さを返します ofsx,ofsy = mdi_layer_offset(…
mdi_width() アクティブなドキュメントの幅を取得します。 mdi_height() アクティブなドキュメントの高さを取得します。 mdi_dpi() アクティブなドキュメントの解像度を取得します。
mdi_new_style( width, height, dpi, bpp ) 幅width, 高さheight, 解像度dpiのドキュメントを作成します。bppは整数指定で、初期レイヤーの型を指定します。32bppの場合32, 8bppの場合は8, 1bppは1, Vectorレイヤは0を指定します。 mdi_new_img32( imgIndex …
mdi_vertex_add( x, y ) 頂点バッファに、頂点を追加します mdi_vertex_clear() 頂点バッファをクリアします。 mdi_shape_setrad( rad ) rect,polygon描画時の角度をrad単位で指定します。 mdi_shape_setdeg( deg ) rect,polygon描画時の角度をdeg単位で指定…
mdi_ms() OSを立ち上げてから経過した時間を、ミリ秒で取得します。 pixel = mdi_cm2pixel( dpi, cm ) dpiを指定して、cmからpixel変換をします。 cm = mdi_pixel2cm( dpi, pixel ) dpiを指定して、pixelからcm変換をします。 mdi_setaa( aa ) 描画処理にお…
いきなりAPIを羅列するよりも、サンプルスクリプトを見た方が「あぁなるほど」と納得して頂けると思いますので :D (1) 適当な画像を作り、コピーし、ドキュメントの作成 local w = 512 local h = 300 local idx = mdi_img_offscreen( 0 ) -- offscreenバッフ…
画像バッファへのアクセス グラフィックツールなんですから、何はともあれ画像へのアクセスが必須になります。現在、 オフスクリーン画像 レイヤ画像 の二種類の画像バッファにアクセスできます。画像操作を行う際には、"mdi_img32_xxxxxxx" などの、mdi_img…
mdiappから呼び出せるスクリプトです。オープンソースのスクリプトエンジン、Lua上で動いています。ので、文法についてはLuaを参照ください。そこにmdiappを操作するAPIを加えたLuaの拡張言語(?)となっています。 http://sugarpot.sakura.ne.jp/yuno/html…
mdi_img32_rect( imgIndex, x,y, w,h, r,g,b,a ) imgIndexバッファを矩形塗りつぶしします。この際、転送先の画像はr,g,b,aでブレンド合成されます。 mdi_img32_ellipse( imgIndex, x,y, w,h, r,g,b,a ) imgIndexバッファを楕円塗りつぶしします。r,g,b,aで…
mdi_img32_copy( destImgIndex, srcImgIndex ) destImgIndexのバッファに、srcImgIndexの画像をコピーします。コピーされる側のバッファは、自動的にコピー元のサイズに変更されます。 mdi_img32_resize( imgIndex, width, height ) imgIndexバッファの画像…
imgIndex = mdi_img_layer( layerImgIndex ) アクティブなドキュメントを操作する為の、画像バッファへのインデックスを取得します。layerImgIndexには、レイヤ番号を指定してください。mdiapp内では、N個レイヤーが存在する場合、一番下のレイヤが0, 一番上…
mdi_img8_copy( destImgIndex, srcImgIndex ) destImgIndexのバッファに、srcImgIndexの画像をコピーします。コピーされる側のバッファは、自動的にコピー元のサイズに変更されます。 mdi_img8_resize( imgIndex, width, height ) imgIndexバッファの画像を…
タブレットに対応した滑らかなブラシ処理 集中線描画機能 豊富な図形描画機能 雲模様・砂模様フィルタ 再編集可能な文字入力 http://d.hatena.ne.jp/MDIAPP/20081218/1229613817 (文字を入れる 省メモリ、混在可能なレイヤーモード http://d.hatena.ne.jp/MD…