とある画像(矢印状の画像)を元画像に透過させて重ねたいです.言語はc++です.
いろんなサイトで調べて,アルファブレンディングという手法でやろうとしましたが,それだと元画像も重ねる画像も両方中途半端に透過されており,なんとも見にくい状態です.
ですので,私としては元画像に矢印のみを透過させない(全く薄くならない状態)で重ねたいです.
以下の写真は,1枚目が元画像,2枚目が重ねたい画像(大きさは元画像と同じ),3枚目がサイトで調べてアルファブレンディングしてみた結果画像です.
改めて,ちゃんと説明すると,1枚目の17点あるうちの中心に当たる丸に該当する角度に変更させながら矢印を入力したかったが,不可能と言われたので,別画像として矢印を入力した画像を作成し,重ねるときにその画像を回転させることで該当する角度にもっていくようにしています.
この操作を数千回行うので,この矢印の長さは時には隣の丸にまで伸びる場合もありますし,それを越える場合があります.
しかし,何もせず2枚目を1枚目に重ねると,2枚目の背景色が白なので,1枚目がその白で埋まってしまい消えてしまいます.そのため,2枚目の画像を透過させるとよいと考えましたが,アルファブレンディングを使ってしまうと,1枚目自体も薄くなってしまいます.
だから,できる事なら矢印(黒色)のみを抽出し,それを1枚目に重ね,全く薄くならないようにしたいです.
ソースコードは厳しいと思うので,アイデアや方針などを教えて頂きたいです.
あまりうまく説明できなくて申し訳ございません.