Tombloo + 部分的な画像処理
Tomblooの'Photo - Capture'のコードを読むと、selectRegionで範囲を選択できて、roundPosition、getElementPositionで要素の位置なんかを取得できるようです。それらを使って、部分的な画像処理をしてみます。
最新版が必要: image_processing.js
Tombloo.Service.extractors.register({ name : 'Photo - Partial Filter', ICON : 'chrome://tombloo/skin/photo.png', check : function(ctx){ return ctx.onImage; }, extract : function(ctx){ return succeed() // ページから範囲を選択 .addCallback(function(){ return selectRegion(); }) // 画像における選択範囲を取得 .addCallback(function(region){ var elmPos = roundPosition(getElementPosition(ctx.target)); var top = region.position.x - elmPos.x; var left = region.position.y - elmPos.y; return { x: top, y: left, w: region.dimensions.w, h: region.dimensions.h }; }) // 画像処理 .addCallback(function(region){ var ip = ImageProcessing.load(ctx.imageURL); ip.merge(ip.clip(region.x, region.y, region.w, region.h).mosaic(10)); return ip.data(); }) // 以下その他諸々 .addCallback(function(image){ return download(image, getTempDir(uriToFileName(ctx.href) + '.png')); }) .addCallback(function(file){ return { type : 'photo', item : ctx.title, file : file, }; }); } });