相关疑难解决方法(0)

位图未绘制消除锯齿

我有一个习惯View,总是Bitmap在一定的轮换.我覆盖了该onDraw方法,旋转Canvas并使用消除锯齿绘制位图Paint.

public RotatedImageView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    someBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.placeholder);
}

@Override
protected void onDraw(Canvas canvas) {

    // Save and rotate canvas
    canvas.save();
    canvas.rotate(3F, getWidth() / 2, getHeight());

    // Draw the icon
    Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
    canvas.drawBitmap(someBitmap, 0, 0, p);
    canvas.drawRoundRect(new RectF(75, 50, 225, 200), 10, 10, p);

    // All done; restore canvas
    canvas.restore();
}
Run Code Online (Sandbox Code Playgroud)

但是,我总是在Bitmap上出现锯齿状边缘.请注意,roudned矩形可以很好地消除锯齿边缘.此外,当我应用p.setFilterBitmap(true);此工作(位图表面被过滤/平滑)正确.我错过了什么吗?

照片上没有抗锯齿功能

这是一个最小的Android项目,其中一个屏幕的隔离示例显示了绘制从资源加载的非抗锯齿Bitmap的视图:https://bitbucket.org/erickok/antialiastest

更新: …

android android-custom-view android-canvas

18
推荐指数
3
解决办法
2万
查看次数

如何旋转背景颜色不锯齿的 Android 文本视图(需要抗锯齿)

我有一个带有背景颜色的静态 xml 布局(看起来像打印的标签),我想以某个角度显示。我遇到的问题是背景边缘看起来像是在 1980 年代渲染的(锯齿状 - 没有抗锯齿)。

如何获得一个在某个角度看起来像标签的文本视图并让它看起来不错(即抗锯齿)?

布局:

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clipChildren="false"
    android:clipToPadding="false"
    android:paddingRight="5dp"
    android:paddingTop="5dp"
    android:paddingBottom="5dp"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:includeFontPadding="false"
        android:maxLines="1"
        android:singleLine="true"
        android:text="Sample Text"
        android:textAllCaps="true"
        android:textColor="#ffffff"
        android:textSize="12sp"
        android:background="#3db8eb"
        android:rotation="-3"
        android:paddingTop="1dp"
        android:paddingBottom="1dp"
        android:paddingLeft="3dp"
        android:paddingRight="3dp"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

它的外观:

例子

android antialiasing textview

0
推荐指数
1
解决办法
1268
查看次数