LoginSignup
7

More than 5 years have passed since last update.

Golangで画像をglitchできるライブラリの紹介

Last updated at Posted at 2015-12-13

この記事は

Go Advent Calendar 11日目の記事です。
大遅刻でした。すみません。

目次

  • 経緯
  • glitchとは
  • 良いライブラリがあったので紹介

経緯

goってbyteの制御とかも結構簡単だし、imageライブラリ周りの処理とかあんまり書いたこと無いし、glitchやってみたら楽しいかなと思って実装していたところ、
参考になるサンプル探してたら使えるライブラリ見つけちゃって、もうこれで良いんじゃないかと思った話です。

glitchとは

端的に言うと、画像を意図的に壊して面白い効果を狙うものです。

http://www.osadagenki.com/gvgas/ja/about-glitch-art/
http://makimoto.hatenablog.com/entry/rubykaigi2013
この辺が文献としては詳しく、

https://speakerdeck.com/makimoto/the-pragmatic-glitch-number-rubykaigi-2013-lt
このスライドが知らない方にはめっちゃわかりやすい。

Goでglitchできるライブラリの紹介

github.com/makimoto/glitch/

上記で紹介したスライドの、makimotoさんが作られたglitchライブラリ。
imageライブラリ使わずにbyte型で読みだして、ヘッダとフッタの指定分だけ取り除いて、処理した後またヘッダとフッタを戻すような処理をやってます。
データベンディング的なグリッチで、コントロールできないですが、とってもいい感じに壊れます。

github.com/darkliquid/glitch

http://www.airtightinteractive.com/demos/js/imageglitcher/
このJSで書かれたglitchアルゴリズムのgolangによる再実装。
データベンディングというよりは画像処理ベースで実現していて、ループして色変えて貼り付け、みたいなことを繰り返してます。

学び

  • 探せばやりたいことできるライブラリがあるので、探して中身見てみると楽しい
  • golangはgithub上でエコシステムができているので、github上で検索するだけでもサンプルコード見つけられるし学びがある
  • 時間があるときに、image型でインポートした後、中身をbyteで処理して、image型として戻す、上記のライブラリの中間くらいの処理を作りたい

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7