
안녕하세요 선후 입니다^^
SurfaceView로 게임을 개발중인데요
가장밖의 검은색 테두리가 실제 디스플레이의 크기구요, 제가 '빨강색'이미지를 화면에 뿌리고 싶은데
빨강색 이미지의 크기가 어떻게 되던간에
작은 사각형 만큼만 화면에 출력을 하고 싶습니다.
어떻게 해야할까요 ㅠㅠ
처음에는 Canvas를 받아서 Canvas 사이즈를 변경하면 되겠지 했는데.......
그런기능이 없더라구요 ㅠㅠ
혹시 아시는분 계시면 좀 알려주세요 ㅠㅠ

public void drawPiece(Canvas cvs, Bitmap bitmap, Rect show, Rect point, Paint p)
{
cvs.drawBitmap(bitmap, show, point, p);
}
위의 방식으로 Rect를 두개 지정해서 하나는 그림의 보여줄 부분의 Rect
하나는 실제로 그려줄 Rect 이렇게 해주시면 이미지의 원하는 부분이
원하시는 좌표에 그려지게 됩니다.
안녕하세요 율이아빠님^^
좋은 답변 감사합니다^^
음... 저같은 경우에는
drawBitmap(Bitmap, srcRect, dstRect, Paint); 로 그려보았는데요,
그렇게 그리면 그 영역안의 이미지를 그릴 때 벗어나는 부분을 처리해야하는데
벗어나게 될 경우 srcRect와 dstRect를 사이즈조절해보았는데, 엄청 번거롭고
제 실력이 부족해서 인지 제대로 작동을 안했었습니다. ㅠㅠ
그래서 좀 직관적인 방법이
Canvas의 크기를 화면에서 100,100,200,200 (Left, Top, Right, Bottom)으로 새로 지정해주고
해당하는 Canvas에 그리게 되면 벗어나면 자동으로 안그려주게 되니
Canvas를 새로 만들어서 그릴려고 했는데
어떻게 해야할지 모르겠습니다 ㅠㅠ흑




저도 요새 이문제 고민하고있네요..제 개인적인 추측성..대답이지만.. 빨간색이미지의 X, Y 좌표계가 음수면 가능하지않을가요..
보통 좌상단 좌표가 0, 0이니까 위치만 바꾸면 알아서 그만큼만 보여주지 않을가 조심스레 짐작합니다