마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
사진 편집 질문 드립니다. 배경 살짝 어둡게 하는 방법 ..
+1
추천
이미지 사진 살짝 어둡게 하고 자를 부분만 밝게 하는 부분을 어떻게 해야할지 감이 안잡합니다.
예제나 함수를 못찾겠습니다.
안드로이드
androiㅇ
imageview
hlopwos
(
190
포인트)
님이
2015년 8월 19일
질문
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
1개의 답변
0
추천
음 이미지자체를 그런식으로 만드는건 너무 복잡하고 차라리 자를 부분을 표시하는 것을 현제 화면위에 뷰어를 하나더 올려서 처리하는 것은 어떠신지요?
올려진 뷰의 알파값을 이용해서 하시면 대충 비슷하게 이루어 질듯 한데요..
컴러기
(
22,230
포인트)
님이
2015년 8월 19일
답변
Bitmap CropBitmapTransparency(Bitmap sourceBitmap)
{
int minX = sourceBitmap.getWidth();
int minY = sourceBitmap.getHeight();
int maxX = -1;
int maxY = -1;
for(int y = 0; y < sourceBitmap.getHeight(); y++)
{
for(int x = 0; x < sourceBitmap.getWidth(); x++)
{
int alpha = (sourceBitmap.getPixel(x, y) >> 24) & 255;
if(alpha > 0) // pixel is not 100% transparent
{
if(x < minX)
minX = x;
if(x > maxX)
maxX = x;
if(y < minY)
minY = y;
if(y > maxY)
maxY = y;
}
}
}
if((maxX < minX) || (maxY < minY))
return null; // Bitmap is entirely transparent
// crop bitmap to non-transparent area and return:
return Bitmap.createBitmap(sourceBitmap, minX, minY, (maxX - minX) + 1, (maxY - minY) + 1);
}
뷰를 하나 더 얹는 다는 말씀은 구체적으로 어떤 말씀인지 잘이해가 가지 않습니다.
alhpa 값이 검정색 반투명인것을 얹어 놓으신다는 말씀이신지요 ?
Crop하는 영역 즉 Rect 가 움직일때마다 Touch이벤트로 alhpa값을 어떻게 응용해야 할지 감히 잡히지 않습니다.
Crop 할 Rect는 구하신거져?
그렇다면
Bitmap CropBitmapTransparency(Rect SrcRect, Rect CropRect) {
Bitmap rtn= null;
Paint p = new Paint();
rtn = Bitmap.CreateBitmap(SrcRect.getWidth, SrcRect.getHieght. Bitmap.Config.ARGB8888);
Canvas cv = new Canvas(rtn);
cv.DrawColor(0x88000000);
p.setColor(0x00000000);
cv.DrawRect(CropRect, p);
return rtn;
}
로 위에 올릴 이미지 만들어보세요.
*일단 코드는 미검증입니다. 오류날수도 있을꺼예요
Please
log in
or
register
to add a comment.
...