グラデーションの線を引きたい
いま、openframeworksで、あるデータをグラフで表示するアプリを制作しています。
そこで、以下の画像のようなグラデーションのグラフを描きたいのですが、やり方がよくわからず、困っています。
FBOを使って、描いたラインであらかじめ用意しておいたグラデーション画像をマスクすれば簡単にできると思い、以下のサイトを参考にしたのですが、これがうまくいかず...orz
どなたか簡単に実現できる方法をご存知の方がいればご教授いただきたいです。
いちおう私が書いたコードも載せておきます。。。
C++
1 2//-------------------------------------------------------------- 3void ofApp::setup(){ 4 5 ofPath line = ofPath(); 6 line.setStrokeColor(ofColor(255, 0, 0)); 7 line.setFilled(false); 8 line.setStrokeWidth(1); 9 line.moveTo(0, 0, 0); 10 line.lineTo(100 ,100 ,0); 11 12 fbo.allocate(ofGetWidth(), ofGetHeight()); 13 fbo.begin(); 14 line.draw(); 15 fbo.end(); 16 17 img.load("test.jpg"); 18 img.getTexture().setAlphaMask(fbo.getTexture()); 19} 20 21//-------------------------------------------------------------- 22void ofApp::update(){ 23 24} 25 26//-------------------------------------------------------------- 27void ofApp::draw(){ 28 29 img.draw(0, 0); 30 31} 32
上のコードはtest.jpg(※)をマスクして、(0,0)から(100,100)の線を引こうとしています。
(※)test.jpgは以下のようなグラデーション画像です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。