<br>안녕하십니까 선배님들안드로이드 스튜디오 앱 만드는데 모르는게 있서서 여쭤보겠습니다<br><div></div><br><br>'미니 포토샵' 이라고 해서 '확대'버튼을 누르면 크게'축소'버튼을 누르면 작게'엠보싱'버튼 누르면 엠보싱효과가 온/오프 하게 하는버튼들이 쭈욱 있는 앱을 만들려 하는데요<br>지금 엠보싱과 블러 효과를 온/오프 해야 하는데 제가짠 코딩이 아닌거 같아서요...<br>어떻게 해야 온오프를 키면서 효과를 줄수 있을까요? <div><br>ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ<br><pre style="font-family:'굴림체';font-size:9.6pt;"><span style="color:#000080;font-weight:bold;">public class </span>MainActivity <span style="color:#000080;font-weight:bold;">extends </span>Activity {<br><br> ImageButton <span style="color:#660e7a;font-weight:bold;">ibZoomin</span>, <span style="color:#660e7a;font-weight:bold;">ibZoomout</span>, <span style="color:#660e7a;font-weight:bold;">ibRotate</span>, <span style="color:#660e7a;font-weight:bold;">ibBright</span>, <span style="color:#660e7a;font-weight:bold;">ibDark</span>, <span style="color:#660e7a;font-weight:bold;">ibGray</span>,<span style="color:#660e7a;font-weight:bold;">ibEmbos</span>, <span style="color:#660e7a;font-weight:bold;">ibBlur</span>;<br> MyGraphicView <span style="color:#660e7a;font-weight:bold;">graphicView</span>;<br><br><span style="color:#000080;font-weight:bold;">static float </span><span style="color:#660e7a;font-style:italic;">scaleX </span>= <span style="color:#0000ff;">1</span>, <span style="color:#660e7a;font-style:italic;">scaleY </span>= <span style="color:#0000ff;">1</span>;<br><span style="color:#000080;font-weight:bold;">static float </span><span style="color:#660e7a;font-style:italic;">angle </span>= <span style="color:#0000ff;">0</span>;<br><span style="color:#000080;font-weight:bold;">static float </span><span style="color:#660e7a;font-style:italic;">color </span>= <span style="color:#0000ff;">1</span>;<br><span style="color:#000080;font-weight:bold;">static float </span><span style="color:#660e7a;font-style:italic;">satur </span>= <span style="color:#0000ff;">1</span>;<br><span style="color:#000080;font-weight:bold;">static float </span><span style="color:#660e7a;font-style:italic;">blur </span>= <span style="color:#0000ff;">1</span>;<br><span style="color:#000080;font-weight:bold;">static float </span><span style="color:#660e7a;font-style:italic;">embosing </span>= <span style="color:#0000ff;">1</span>;<br><br></pre><pre style="font-family:'굴림체';font-size:9.6pt;"> <span style="color:#000080;font-weight:bold;">private void </span>clickIcons() {<br><span style="color:#660e7a;font-weight:bold;">ibZoomin </span>= (ImageButton) findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">ibZoomin</span>);<br><span style="color:#660e7a;font-weight:bold;">ibZoomin</span>.setOnClickListener(<span style="color:#000080;font-weight:bold;">new </span>View.OnClickListener() {<br><span style="color:#808000;font-size:9.6pt;line-height:1.5;">//중략</span><br> });<br><br><span style="color:#660e7a;font-weight:bold;">ibZoomout </span>= (ImageButton) findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">ibZoomout</span>);<br><span style="color:#660e7a;font-weight:bold;">ibZoomout</span>.setOnClickListener(<span style="color:#000080;font-weight:bold;">new </span>View.OnClickListener() {<br><span style="color:#808000;font-size:9.6pt;line-height:1.5;">//중략</span><br> });<br><br><span style="color:#660e7a;font-weight:bold;">ibRotate </span>= (ImageButton) findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">ibRotate</span>);<br><span style="color:#660e7a;font-weight:bold;">ibRotate</span>.setOnClickListener(<span style="color:#000080;font-weight:bold;">new </span>View.OnClickListener() {<br><span style="color:#808000;font-size:9.6pt;line-height:1.5;">//중략</span><br> });<br><br><span style="color:#660e7a;font-weight:bold;">ibBright </span>= (ImageButton) findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">ibBright</span>);<br><span style="color:#660e7a;font-weight:bold;">ibBright</span>.setOnClickListener(<span style="color:#000080;font-weight:bold;">new </span>View.OnClickListener() {<br><span style="color:#808000;font-size:9.6pt;line-height:1.5;">//중략</span><br> });<br><br><span style="color:#660e7a;font-weight:bold;">ibDark </span>= (ImageButton) findViewById(R.id.<span style="color:#660e7a;font-weight:bold;font-style:italic;">ibDark</span>);<br><span style="color:#660e7a;font-weight:bold;">ibDark</span>.setOnClickListener(<span style="color:#000080;font-weight:bold;">new </span>View.OnClickListener() {<br><span style="color:#808000;font-size:9.6pt;line-height:1.5;">//중략</span><br> });<br><br><span class="Apple-tab-span" style="white-space:pre;"> </span><엠보싱 효과 코드><br></pre><pre style="font-family:'굴림체';font-size:9.6pt;"><span style="font-size:9.6pt;line-height:1.5;"><블러효과 코드></span><br><br> }<br><br><span style="color:#000080;font-weight:bold;">private static class </span>MyGraphicView <span style="color:#000080;font-weight:bold;">extends </span>View {<br><span style="color:#000080;font-weight:bold;">public </span>MyGraphicView(Context context) {<br><span style="color:#000080;font-weight:bold;">super</span>(context);<br> }<br><br><span style="color:#808000;">@Override<br></span><span style="color:#808000;"> </span><span style="color:#000080;font-weight:bold;">protected void </span>onDraw(Canvas canvas) {<br><span style="color:#000080;font-weight:bold;">super</span>.onDraw(canvas);<br><br><span style="color:#000080;font-weight:bold;">int </span>cenX = <span style="color:#000080;font-weight:bold;">this</span>.getWidth() / <span style="color:#0000ff;">2</span>;<br><span style="color:#000080;font-weight:bold;">int </span>cenY = <span style="color:#000080;font-weight:bold;">this</span>.getHeight() / <span style="color:#0000ff;">2</span>;<br> canvas.scale(<span style="color:#660e7a;font-style:italic;">scaleX</span>, <span style="color:#660e7a;font-style:italic;">scaleY</span>, cenX, cenY);<br> canvas.rotate(<span style="color:#660e7a;font-style:italic;">angle</span>, cenX, cenY);<br><br> Paint paint = <span style="color:#000080;font-weight:bold;">new </span>Paint();<br><span style="color:#000080;font-weight:bold;">float</span>[] array = { <span style="color:#660e7a;font-style:italic;">color</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>,<br><span style="color:#0000ff;">0</span>, <span style="color:#660e7a;font-style:italic;">color</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>,<br><span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>, <span style="color:#660e7a;font-style:italic;">color</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>,<br><span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">0</span>, <span style="color:#0000ff;">1</span>, <span style="color:#0000ff;">0 </span>};<br> ColorMatrix cm = <span style="color:#000080;font-weight:bold;">new </span>ColorMatrix(array);<br> cm.setSaturation(<span style="color:#660e7a;font-style:italic;">satur</span>);<br><br> paint.setColorFilter(<span style="color:#000080;font-weight:bold;">new </span>ColorMatrixColorFilter(cm));<br><span style="color:#000080;font-weight:bold;">if</span>(<span style="color:#660e7a;font-style:italic;">blur</span>==<span style="color:#0000ff;">0</span>) {<br> BlurMaskFilter bMask;<br> bMask = <span style="color:#000080;font-weight:bold;">new </span>BlurMaskFilter(<span style="color:#0000ff;">30</span>, BlurMaskFilter.Blur.<span style="color:#660e7a;font-weight:bold;font-style:italic;">NORMAL</span>);<br> paint.setMaskFilter(bMask);<br> }<br><br><span style="color:#000080;font-weight:bold;">if</span>(<span style="color:#660e7a;font-style:italic;">embosing</span>==<span style="color:#0000ff;">0</span>) {<br> EmbossMaskFilter eMask;<br> eMask = <span style="color:#000080;font-weight:bold;">new </span>EmbossMaskFilter(<span style="color:#000080;font-weight:bold;">new float</span>[]{<span style="color:#0000ff;">3</span>, <span style="color:#0000ff;">3</span>, <span style="color:#0000ff;">3</span>}, <span style="color:#0000ff;">0.5f</span>, <span style="color:#0000ff;">5</span>, <span style="color:#0000ff;">10</span>);<br> paint.setMaskFilter(eMask);<br> }<br><br> Bitmap picture = BitmapFactory.<span style="font-style:italic;">decodeResource</span>(getResources(),R.drawable.<span style="color:#660e7a;font-weight:bold;font-style:italic;">lena256</span>);<br><span style="color:#000080;font-weight:bold;">int </span>picX = (<span style="color:#000080;font-weight:bold;">this</span>.getWidth() - picture.getWidth()) / <span style="color:#0000ff;">2</span>;<br><span style="color:#000080;font-weight:bold;">int </span>picY = (<span style="color:#000080;font-weight:bold;">this</span>.getHeight() - picture.getHeight()) / <span style="color:#0000ff;">2</span>;<br><br> canvas.drawBitmap(picture, picX, picY, paint);<br><br> picture.recycle();<br> }<br> }<br>}</pre></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.