저는 안드로이드 용 픽셀 게임을 만들고 있습니다. 32x32 이미지를 사용하고 있습니다. 화면 크기에 관계없이 게임을 동일하게 보이게하려면 동적으로 이미지의 크기를 조정하십시오. 내 문제까지 확장 할 때, 이미지의 어떤 부분이 자신의 원래 색상을 유지하지 않는다는 것입니다 : 원래 32 × 32작은 비트 맵 픽셀을 완벽하게 조정하십시오.
6 타일. 보시다시피, 검정색 가장자리 바로 앞에 원치 않는 그림자 선 (아마도 검은 색과 붉은 색의 평균)이 있습니다.
public abstract class Drawable {
protected int x;
protected int y;
protected Bitmap image;
Drawable(Bitmap image, int x, int y, float scale) {
this.x = x;
this.y = y;
this.image = Bitmap.createScaledBitmap(image, (int)(image.getWidth()*scale), (int)(image.getHeight()*scale), false);
}
abstract void draw(Canvas canvas);
}
당신은 내가 필터를 사용하고 있지 않다 볼 수 있듯이 :
이 내가 스케일링에 사용하는 코드입니다. 이렇게하면 가장자리 영역이 더 흐리게됩니다. 스케일 업이 실제로 이미지의 선명도를 유지할 때 true를 사용하는 것과는 대조적으로 다른 필터가 있습니까?
편집 : 지금 대신이 방법을 시도
:
scaledRect = new RectF(x, y, x+image.getWidth()*scale, y+image.getHeight()*scale);
paint = new Paint();
paint.setAntiAlias(false);
paint.setDither(false);
paint.setFilterBitmap(false);
그리고 그리기 요청에
: 성공하지canvas.drawBitmap(this.image, null, scaledRect, paint);
...
까지 확장 비트 맵은 흐리게하는 부작용이 있습니다. 아마도 벡터 그래픽은 당신이 찾고있는 것입니다. https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html –
벡터 그래픽을 사용하여 픽셀 아트를 만드는 사람은 본 적이 없지만 직접 확인해 보겠습니다. –