在Android中将渐变叠加到图像

时间:2015-10-07 22:37:53

标签: android

在我的应用中,我从数据库中检索图像并添加文本。用户可以单击按钮将其共享给其他应用程序。我需要添加渐变背景,以使文本更加明显。目前我正在使用:

Bitmap gradient = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(resources, R.drawable.gradient_high), bitmap.getWidth(), bitmap.getHeight(), false);
canvas.drawBitmap(gradient, 0, 0, paint);

渐变图像是drawable下的png文件。问题是,一旦将渐变绘制到原始图像,许多窄条变得可见,就好像分辨率非常低。但实际上它们具有相同的分辨率。

然而,当我在我的应用程序中显示图像时,我直接从XML添加渐变:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >

    <gradient
        android:angle="90"
        android:startColor="#65000000"
        android:endColor="#00000000"
        android:type="linear" />
</shape> 

基本上我只是将其指定为RelativeLayout的背景,并将其放在我的ImageView下,该var popup = element(by.css('.popup-container.popup-showing.active')); 包含原始图像。它给了我一个非常流畅的组合图像。

如果我想分享图片,我不会认为我也可以这样做,因为我以编程方式在Java中添加原始图像并分享它,而不仅仅是在我的应用中显示它。我想找到一种方法来实现相同的图像质量。感谢。

0 个答案:

没有答案