Category:Home/memo (Total 18 items)

≪ coreimageをちょっと使ってみる。 | time()を使う ≫

coreimageを使用できるエフェクトを増やしてみる。

  • 2008-05-30 (金)
  • memo

ImageUnitだったら何でも使えるのかと思って、モナリザで変換したのとか試しても使えない。
それどころか、Leopardで追加されたDiscBlurとかも使えない。

で、Pythonも分からんくせにcoreimageの__init__.pyを覗いてみると、

        self.FILTER_COLORMATRIX            = "CIColorMatrix"
        self.FILTER_EDGES                  = "CIEdges"
        self.FILTER_MOTIONBLUR             = "CIMotionBlur"
        self.FILTER_DISCBLUR               = "CIDiscBlur"
        self.FILTER_ZOOMBLUR               = "CIZoomBlur"
        self.FILTER_BUMPDISTORTION         = "CIBumpDistortion"
        self.FILTER_HOLEDISTORTION         = "CIHoleDistortion"
        self.FILTER_CIRCLESPLASHDISTORTION = "CICircleSplashDistortion"
        self.FILTER_TWIRLDISTORTION        = "CITwirlDistortion"
        self.FILTER_CIRCULARWRAP           = "CICircularWrap"
        self.FILTER_KALEIDOSCOPE           = "CIKaleidoscope"
        self.FILTER_TRIANGLETILE           = "CITriangleTile"
        self.FILTER_PERSPECTIVETILE        = "CIPerspectiveTile"
        self.FILTER_STARSHINEGENERATOR     = "CIStarShineGenerator"
        self.FILTER_CHECKERBOARDGENERATOR  = "CICheckerboardGenerator"
        self.FILTER_BLOOM                  = "CIBloom"
        self.FILTER_PIXELATE               = "CIPixellate"
        self.FILTER_CRYSTALLIZE            = "CICrystallize"
        self.FILTER_SPOTLIGHT              = "CISpotLight"
        self.FILTER_SHADEDMATERIAL         = "CIShadedMaterial"
        self.FILTER_PAGECURLTRANSITION     = "CIPageCurlTransition"

とか一々やってるので、どうやら個別にひとつずつ読み込む為の処理を書いておかなければならないようです。

で、Discblurを増やしたい。
同じブラー系のmotionblurとかzoomblurの処理をコピペしていけばいいだろう。たぶん。

で、motionblurで検索して、みつかった行ごとコピペして、DiscblurとかDISCBLURとかに変える作業をして、 初期値はradius:8.0にしたりなんかして、

    def render_filter_discblur(self, layer, img, options):

        # Apply the Core Image Disc Blur filter effect,

        r = options["radius"]

        r = max(0.0, min(r, 100.0))
        p = {"inputRadius": r}
        img = self.filter(self.FILTER_DISCBLUR, img, p)

        return img  

こんな感じにしたところ無事に

canvas.append(img).filter("discblur")

とかするとDiscblur使えました。

Category:Home/memo (Total 18 items)

≪ coreimageをちょっと使ってみる。 | time()を使う ≫

Entries in this Category
Tutorial
Library
Syndicate this site

RSS 1.0 Feed

Return to page top