2012-09-18 56 views
2

我想缩小从109x105到48x48的图像来制作按钮背景。我已经完成了Photoshop中的缩放,图像是一个矢量。按比例缩小安卓按钮的PNG图像变得模糊

但是,当我在手机上运行它时,较小的图像出现模糊。大图像是完美的,我可以加载到手机上,没有问题,所以质量损失。我必须提到,图像中还有一些文字,模糊性非常明显。

我已经尝试使用9个补丁绘制,使整个图像可拉伸。我似乎无法找到任何正确解决此问题的答案,因此任何输入都会有用。

我的问题是,如何缩小PNG图像而不损失质量?在将图像复制到我的可绘制文件夹之前,这是我可以做的事情,还是我可以让android自动执行的操作。

编辑:这个问题在不久的代号为“@绘制/图”“@绘制/ block_small的终结”和“@绘制/股”

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/expandable_deal_back_white" 
    android:orientation="horizontal" 
    android:padding="8dp" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="23dp" 
     android:contentDescription="@string/logo_content_description" 
     android:maxHeight="100dp" 
     android:maxWidth="100dp" 
     android:minHeight="100dp" 
     android:minWidth="100dp" 
     android:scaleType="fitXY" 
     android:src="@drawable/food_selector" /> 

    <LinearLayout 
     android:id="@+id/LinearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginBottom="8dp" 
      android:layout_marginLeft="8dp" 
      android:layout_marginTop="23dp" 
      android:background="@drawable/button_selector_new" 
      android:padding="8dp" 
      android:text="@string/tandc" 
      android:textColor="@drawable/button_text_selector_new" /> 

     <RelativeLayout 
      android:id="@+id/RelativeLayout1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="8dp" > 

      <Button 
       android:id="@+id/button2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentTop="true" 
       android:layout_centerHorizontal="true" 
       android:layout_marginLeft="4dp" 
       android:layout_marginRight="4dp" 
       android:background="@drawable/map" 
       android:text="@string/empty" /> 

      <Button 
       android:id="@+id/button3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentTop="true" 
       android:layout_toRightOf="@+id/button2" 
       android:background="@drawable/block_small" 
       android:text="@string/empty" /> 

      <Button 
       android:id="@+id/button4" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentTop="true" 
       android:layout_toLeftOf="@+id/button2" 
       android:background="@drawable/share" 
       android:text="@string/empty" /> 

     </RelativeLayout> 

    </LinearLayout> 

</LinearLayout> 
+0

也许你dpi是低? –

+0

尝试将DPI增加到160,但这并没有什么区别。 – contool

回答

0

怎么办3个按钮是显而易见的我缩小了PNG图像而不损失质量?

你不知道。根据定义,较小(按像素计数)的图像具有较少的数据。

也就是说,有几件事你要检查,以确保模糊是由于图像质量的损失,而不是其他因素。计算机上的小图像看起来不错吗?你有made sure you are putting the images in the correct drawable folders吗?

+0

感谢您的答复 - 是的,我的电脑上的小图像看起来不错 - 虽然它的屏幕比我的手机更高。图像是一个基本的圆形,中间有一个X,所以不是很复杂,即使在48x48的时候也应该很脆。 我把图像放在mdpi文件夹中,并在mdpi手机上查看。 – contool

+0

你可以在你的文章中发布你的XML布局文件作为编辑,这样我们就可以看到你是如何使用这个drawable的? – kabuko

+0

上面的代码在编辑... – contool