Android 프로 그래 밍 의 그림자(Shadow)만 드 는 방법

2666 단어 Android그늘Shadow
이 사례 는 안 드 로 이 드 프로 그래 밍 의 그림자(Shadow)제작 방법 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
먼저 실행 효과 도 를 보면 다음 과 같다.

음영 제작:각종 모양(사각형,원형 등)과 문자 등 을 포함 하여 음영 을 설정 할 수 있 습 니 다.
음영 제작 은 어떤 원리 인가요?
사실 매우 간단 하 다.음영 을 설정 해 야 하 는 것 은 주 층 으로 간주 된다.그리고 메 인 밑 에 음영 층 을 그 려 주세요.
그림자 제작 은 중요 한 함수 와 관련 이 있 습 니 다:

public void setShadowLayer (float radius, float dx, float dy, int color)

인자:
radius:그림자 반경
dx:X 축 방향의 오프셋
D:Y 축 방향의 오프셋
색상:그림자 색상
주의:반경 이 0 으로 설정 되면 음영 을 제거 한 다 는 뜻 입 니 다.
구체 적 인 실현:

package xiaosi.textShadow;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
public class TextShadowActivity extends Activity
{
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(new drawCanvas(this));
  }
  class drawCanvas extends View
  {
    private Bitmap bitmap = null;
    public drawCanvas(Context context)
    {
      super(context);
      bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.i_skinprocess);
    }
    @Override
    protected void onDraw(Canvas canvas)
    {
      super.onDraw(canvas);
      //   Paint   
      Paint paint1 = new Paint();
      //     
      paint1.setColor(0xFFFFFF00);
      //     (  , X    , Y    ,     )
      paint1.setShadowLayer(5, 3, 3, 0xFFFF00FF);
      //     &    
      canvas.drawText("    ", 20,40,paint1);
      Paint paint2 = new Paint();
      paint2.setColor(Color.GREEN);
      paint2.setShadowLayer(10, 5, 2, Color.YELLOW);
      canvas.drawText("   ", 20,60,paint2);
      Paint paint3 = new Paint();
      paint3.setColor(Color.RED);
      paint3.setShadowLayer(30, 5, 2, Color.GREEN);
      canvas.drawCircle(50, 130,30, paint3);
      Paint paint4 = new Paint();
      paint4.setShadowLayer(5, 8, 7, Color.DKGRAY);
      canvas.drawBitmap(bitmap, 50, 200, paint4);
    }
  }
}

더 많은 안 드 로 이 드 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 안 드 로 이 드 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기