antialias - CSDN
精华内容
参与话题
  • python-img.resize()

    万次阅读 2019-02-23 20:40:15
    1.img.resize((width, height),Image.ANTIALIAS) 第二个参数: Image.NEAREST :低质量 Image.BILINEAR:双线性 Image.BICUBIC :三次样条插值 Image.ANTIALIAS:高质量 from PIL import Image ''' filein: 输入...

    1.img.resize((width, height),Image.ANTIALIAS)

    第二个参数:
    Image.NEAREST :低质量
    Image.BILINEAR:双线性
    Image.BICUBIC :三次样条插值
    Image.ANTIALIAS:高质量

    from PIL import Image
    '''
    filein: 输入图片
    fileout: 输出图片
    width: 输出图片宽度
    height:输出图片高度
    type:输出图片类型(png, gif, jpeg...)
    '''
    def ResizeImage(filein, fileout, width, height, type):
      img = Image.open(filein)
      out = img.resize((width, height),Image.ANTIALIAS) #resize image with high-quality
      out.save(fileout, type)
    if __name__ == "__main__":
      filein = r'0.jpg'
      fileout = r'testout.png'
      width = 6000
      height = 6000
      type = 'png'
      ResizeImage(filein, fileout, width, height, type)
    

     

    上面是单张图片尺寸的改变,针对大量数据集图片,如何批量操作,记录一下,为以后数据集预处理提供一点参考:

    from PIL import Image
    import os.path
    import glob
    def convertjpg(jpgfile,outdir,width=1280,height=720):
        img=Image.open(jpgfile)   
        new_img=img.resize((width,height),Image.BILINEAR)   
        new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))
    for jpgfile in glob.glob("E:/test/picture/12/*.jpg"):
        convertjpg(jpgfile,"E:/test/picture/111/")

    2.重要函数glob.glob()

    返回12文件夹下所有的jpg路径:

    glob.glob(“E:/test/picture/12/*.jpg”)

    返回的是111文件夹下下个文件的所有路径:

    glob.glob(“E:/test/picture/111//“)

    转载地址:https://blog.csdn.net/xjp_xujiping/article/details/81607964

    展开全文
  • Android的Drawable

    2019-08-23 17:30:11
    Android的Drawable为Android的UI界面提供了丰富多彩的显示效果。例如,我们View的src属性、background属性可以设置的内容就包括各式各样的drawable资源文件。drawable文件夹下的资源可以是一张图片(jpg/png/bmp等...

        Android的Drawable为Android的UI界面提供了丰富多彩的显示效果。例如,我们View的src属性、background属性可以设置的内容就包括各式各样的drawable资源文件。drawable文件夹下的资源可以是一张图片(jpg/png/bmp等格式),还可以是一个xml文件。当然,我们今天要介绍的是以xml方式实现的drawable文件,那么我们来看看以这种方式实现的优点。

        Drawable是一个抽象的概念,它可以被canvas绘制,常见的有颜色和图片都可以是一个drawable。因为drawable可以做出一些特殊的ui效果,所以对比图片来说,它的优点如下:

    1、首先,它的使用比较简单,在xml里已经定义了大量的属性方法,我们只要熟悉各个属性的ui效果和特点就可以自己组合各种的界面效果。

    2、其次,它的实现成本比自定义View低,一些比较简单的、定制性、重复性的UI效果使用drawable将会缩小开发成本。但是一些比较复杂的ui场景,drawable却表现不出自定义view的那种效果。

    3、相比较于图片而言,drawable占用空间更小,这样有利于缩小apk的体积。

        Drawable虽然有这些优点,但与此同时,它的分类又是比较细的。比如,android常用的Drawable有BitmapDrawable、ShapeDrawable、LayerDrawable、ScaleDrawable、TransitionDrawable等等。当然,还有一些我没有列举出来的,下文会逐步讲解它们的特点以及用法。

    · Drawable实现的案例

        首先,我们来看看比较常用的这几种Drawable。

    一、BitmapDrawable

    <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
        android:antialias="true"
        android:dither="true"
        android:filter="true"
        android:gravity="fill"
        android:src="@drawable/pig"
        android:tileMode="disabled" />

      以上是BitmapDrawable的一个小案例,那么我们将其设置到TextView的background属性中,显示效果如下:

    正如上面的src属性,设置的是一张小猪头的图片,还有其他一些属性,我也将依次进行介绍。

    1、android:dither属性

         是否开启抖动效果。它的作用例如:一张ARGB_8888色彩模式的图片在仅支持RGB_565的设备上显示,会使图片不会太过于失真。因此,应该开启此项。

    2、android:filter属性

         是否开启过滤效果。建议启用,开启此项可以保持较好的显示效果。

    3、android:antialias属性

         是否开启抗锯齿效果。建议启用,开启抗锯齿效果会使图片变得平滑。

    4、android:tileMode属性

         设置平铺模式,当开启时android:gravity属性将失效。平铺模式有三种,分别为:clamp、repeat、mirror。disabled表示不开启,也是默认值。

         clamp作用是:让四周图像扩展到周围区域。比如,图像小于容器时,四周的每一个像素将会进行扩展直到填满容器。

         re[eat作用是:复制图像到周围区域,一种简单的平铺效果。

         mirror作用是:水平和竖直方向上的一种镜像效果。

    5、android:gravity属性

         设置图像的位置以及显示方式。这个属性比较常用,类似view的gravity属性,属性内容比较多,大家可以自己尝试一下看看效果。一般我们会选择fill来进行对容器的填充效果。

    二、ShapeDrawable

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <corners
            android:topLeftRadius="48dp"
            android:bottomRightRadius="48dp" />
        <stroke
            android:width="2dp"
            android:color="@color/colorGray"
            android:dashGap="16dp"
            android:dashWidth="8dp" />
        <solid android:color="@color/colorWhite" />
    </shape>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <corners
            android:topLeftRadius="32dp"
            android:topRightRadius="32dp" />
        <stroke
            android:width="1px"
            android:color="@color/colorAccent" />
        <size
            android:width="100dp"
            android:height="100dp" />
        <gradient
            android:angle="270"
            android:centerColor="@color/colorAccent"
            android:centerX="1"
            android:centerY="10"
            android:endColor="@color/colorAccent"
            android:startColor="@color/colorWhite"
            android:type="linear" />
    </shape>

    上面两个是ShapeDrawable的小案例,它们的显示效果分别如下:

    首先,我们来看第一个的显示效果。内部以白色填充,边框为灰色虚线,左上、右下以圆弧曲线弯曲效果。下面,我将依次介绍它们的标签属性效果。

    1、shape标签

         shape位于根标签,android:shape属性。它拥有四种形状。分别为:rectangle(默认,矩形)、oval(椭圆)、line(横线)、ring(圆环)

    2、corners标签

         作用于矩形的四周(仅适用于矩形),为四周设置角度。如上图所示,矩形四个角的弧度。利用这一个标签可以很方便的实现圆角矩形的效果。

    3、stroke标签

         表示描边(或添加边框)。如图中第一个矩形所示,外围的一圈灰色虚线效果。这里注意:android:dashWidth和android:dashGap任何一个不可以为0,否则虚线效果将不生效。当然,除了虚线,去除这两个属性即变为实线效果(如上图第二个矩形)。

    4、solid标签

         表示为shape填充(如上图矩形内部的填充颜色),很容易理解。

    5、gradient标签

         android:type属性,设置颜色渐变效果(如上图第二个矩形所示)。渐变模式有三种,分别为:linear(默认,线性渐变)、sweep(扫描渐变)、radial(径向渐变)

    扫描渐变:

    径向渐变(类似圆环效果):

    注意:仅当设置了android:gradientRadius时才生效,表示设置渐变半径。

    关于gradient标签还有一个地方值得注意,那就是android:angle属性,渐变的角度必须设置为45的整数倍。例如:0,45,90,135,180...

    还有其他一些标签比较简单,也容易理解。光看属性名字就知道它的具体作用了。

     

     

    展开全文
  • Android-Drawable

    2020-08-13 16:05:15
    Android-Drawable Drawable表示的是一种可以在canvas上进行绘制的抽象的概念,它的种类有很多,最常见的颜色和图片都可以是一个Drawable。 1. Drawable简介 Drawable有很多种,他们都表示一种图像的概念,但是它们又...

    Android-Drawable

    Drawable表示的是一种可以在canvas上进行绘制的抽象的概念,它的种类有很多,最常见的颜色和图片都可以是一个Drawable。

    1. Drawable简介

    Drawable有很多种,他们都表示一种图像的概念,但是它们又不全是图片,通过颜色也可以构造处各式各样的图像的效果。Drawable一般是通过XML来定义的,当然我们也可以通过代码来创建具体的Drawable对象,只是用代码创建会稍显复杂。

    Drawable的内部宽/高这个参数比较重要,通过getIntrinsicWidth和getIntrinsicHeight这两个方法可以获取。但是并不是所有的Drawable都有内部宽/高,比如一张图片所形成的Drawable,它的内部宽/高就是图片的宽/高,但是一个颜色所形成的Drawable,它就没有内部宽/高的概念。

    2. Drawable分类

    2.1 BitmapDrawable

    它显示的就是一张图片,在实际开发中,我们可以直接引用原始的图片即可,也可以通过XML的方式来描述它,通过XML来描述BitmapDrawable可以设置更多效果,如下:

    <bitmap
    	xmlns:android="http://schemas.android.com/apk/res/android"
    	android:src=""
    	android:antialias=""
    	android:dither=""
    	android:filter=""
    	android:gravity=""
    	android:mipMap=""
    	android:tileMode=""/>
    

    下面是各个属性的含义:

    android:src

    图片资源id

    android:antialias

    是否开启图片抗锯齿功能。开启后会让图片变得平滑,同时也会在一定程度上降低图片的清晰度,但是这个降低的幅度较低以至于可以忽略。

    android:dither

    是否开启抖动效果。当图片像素配置和手机屏幕的像素配置不一致时,开启这个选项可以让高质量的图片在低质量上还能保持较好的显示效果。

    android:filter

    是否开启过滤效果。当图片尺寸被拉伸或者被压缩时,开启过滤效果可以保持较好的显示效果。

    android:gravity

    当图片尺寸小于容器尺寸时,设置此选项可以对图片进行定位。这个属性可选项比较多可以通过 “ | ”来组合使用。

    android:mipMap

    这是一种图像相关的处理技术,也叫纹理映射,比较抽象,默认值为false,在日常开发中此选项不常用。

    android:tileMode

    平铺模式。

    2.2 NinePathDrawable

    它表示的是一张.9格式的图片,.9格式的图片可以自动地根据所需的宽/高进行相应的缩放并保证不失真。和BitmapDrwable一样,它们都表示一张图片,在实际使用中直接引用图片即可,但是也可以通过XML来描述.9图,如下:

    <nine-path
    	xmlns:android="http://schemas.android.com/apk/res/android"
    	android:src=""/>
    

    2.3 ShapeDrawable

    ShapeDrawable是一种常见的Drawable,可以理解为通过颜色来构造的图形,它既可以是纯色的图形,也可以是具有渐变效果的图形。ShapeDrawable的语法稍显复杂,如下:

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <corners
            android:radius=""
            android:topLeftRadius=""
            android:bottomLeftRadius=""
            android:bottomRightRadius=""
            android:topRightRadius=""/>
        <gradient
            android:angle=""
            android:centerColor=""
            android:centerX=""
            android:centerY=""
            android:endColor=""
            android:gradientRadius=""
            android:startColor=""
            android:type=""
            android:useLevel=""/>
        <padding
            android:bottom=""
            android:left=""
            android:right=""
            android:top=""/>
        <size
            android:height=""
            android:width=""/>
        <solid
            android:color=""/>
        <stroke
            android:color=""
            android:width=""
            android:dashGap=""
            android:dashWidth=""/>
    </shape>
    

    各个属性的含义:

    android:shape

    表示图形的形状,有四个选项:rectangle,line,oval,ring。它的默认值是rectangle,另外line和ring这两个选项需要通过<stroke>标签来指定线的宽度和颜色等信息,否则将无法达到预期的效果。

    <corners>

    表示shape四个角的角度,它只适用于矩形rectangle,这里的角度是指圆角的程度,用px来表示,它有如下5个属性:

    • android:radius-为四个角同时设定相同的角度,优先级较低,会被其他四个属性覆盖
    • android:topLeftRadius-设定左上角的角度
    • android:topRightRadius-设置右上角的角度
    • android:bottomLeftRadius
    • android:bottomRightRadius

    <gradient>

    它与<solid>标签是互相排斥的,其中solid表示纯色填充,sgradient表示渐变效果,gradient有如下几个属性:

    • android:angle-渐变的角度,默认为0,其值必须为45的倍数,0表示从左到右,90表示从上到下。
    • android:centerX-渐变的中心点的横坐标。
    • android:centerY-渐变的中心点的纵坐标。
    • android:startColor-渐变的起始色
    • android:endColor-渐变的结束色
    • android:centerColor-渐变的中间色
    • android:gradientRadius-渐变的半径,仅当android:type=“radial”时有效
    • android:useLevel-一般为false,当Drawable作为StateListDrawable使用时为true
    • android:type-渐变的类型,有linear(线性渐变),radial(径向渐变),sweep(扫描线渐变)三种,默认值为linear。

    <solid>

    这个标签表示纯色填充,通过android:color即可指定shape的颜色

    <stroke>

    Shape的描边,有如下属性:

    • android:width-描边的宽度,越大则shape的边缘线看起来就会越粗
    • android:color-描边的颜色
    • android:dashWidth-组成虚线的线段的宽度
    • android:dashGap-组成虚线的线段之间的间隔,间隔越大则虚线看起来空隙越大

    <padding>

    这个表示空白,但是它表示的不是shape的空白,而是包含view的空白,有四个属性,android:bottom,android:left,android:right,android:top

    <size>

    shape的大小,有两个属性:android:width和android:height,分别表示shape的宽/高。这个表示的是shape的固有大小,但是一般来说它并不是shape的最终显示大小。对于shape来说,默认情况下它是没有固定宽/高的概念的,那么这个时候getIntrinsicWidth和getIntrinsicHeight会返回-1,但是如果通过这个标签来指定宽高,那么这时候shape就有了所谓的宽高。

    2.4 LayerDrawable

    LayerDrawable对应XML的标签是<layer-list>,它表示一种层次化的Drawable的集合,通过将不同的Drwable放置在不同的层上面从而达到一种叠加的效果。如下:

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:drawable=""
            android:id=""
            android:top=""
            android:right=""
            android:left=""
            android:bottom=""/>
    </layer-list>
    

    一个layer-list中可以包含多个item,每个item表示一个drawable。Item的结构也比较简单,比较常用的属性有android:top,android:right,android:left,android:bottom他们分别表示drawable相对于veiw的上下左右的偏移量,单位为像素。另外,我们可以通过android:drawable属性来直接引用一个已有的Drawable资源,也可以在item中自定义Drawable。layer-list有层次的概念,下面的item会覆盖上面的item,通过一些合理的分层,可以实现一些特殊的叠加效果。

    2.5 StateListDrawable

    StateListDrawable对应<selector>标签,它也是表示drawable的集合,每个drawable都对应着view的一种状态,这样系统就会根据veiw的状态来选择合适的drawable。StateListDrawable主要用于设置可单击的view的背景,最常见的BUtton。

    <selector xmlns:android="http://schemas.android.com/apk/res/android"
        android:constantSize=""
        android:dither=""
        android:variablePadding="">
    
        <item
            android:drawable=""
            android:state_pressed=""
            android:state_focused=""
            android:state_hovered=""
            android:state_selected=""
            android:state_checked=""
            android:state_checkable=""
            android:state_enabled=""
            android:state_activated=""/>
    </selector>
    

    android:constantSize

    StateListDrawable的大小是否随着其状态的改变而改变,因为状态的改变会导致StateListDrawable切换到具体的Drawable,而不同的Drawable具有不同的固有大小,true表示StateListDrawable的固有大小保持不变,这时它的固有大小是内部所有Drawable的固有大小的最大值,false则会随着状态的改变而改变。此选项默认值为false。

    android:variablePadding

    StateListDrawable的padding表示是否随着其状态的改变而改变,true表示会随着状态的改变而改变,false表示StateListDrawable的padding是内部所有Drawable的padding的最大值。此选项默认为false,并且不建议开启此选项。

    <item>标签有一个具体的Drawable,它的结构也比较简单,其中android:drawable是一个已有的drawable资源id,剩下的属性表示的是View的各种状态,每个item表示的都是一种状态下的drawable信息。View的常见状态如表。

    状态 含义
    android:state_pressed 表示按下状态,比如Button被按下后仍没有松开的状态
    android:state_focused 表示View已经获取到了焦点
    android:state_selected 表示用户选择了View
    android:state_checked 表示用户选中了View,一般是用于CheckBox这类在选中和非选中状态之间进行切换的View
    android:state_enabled 表示View当前处于可用状态
    展开全文
  • Android你必懂的-xml中的bitmap篇

    千次阅读 2018-12-04 22:41:09
    曾经设置windows桌面,可在背景中用到平铺、重复、镜像。Android里,咱们也有的,那就是bitmap说起bitmap可能我们直接在像写shape一样在xml中写用的还是非常少的,一般都是直接使用了。 与shape一样,在drawable...

    曾经设置windows桌面,可在背景中用到平铺、重复、镜像。Android里,咱们也有的,那就是bitmap说起bitmap可能我们直接在像写shape一样在xml中写用的还是非常少的,一般都是直接使用了。

    与shape一样,在drawable目录下写入,格式如下:

    <?xml version="1.0" encoding="utf-8"?>
    <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
        android:antialias="false"
        android:dither="false"
        android:filter="true"
        android:gravity="top"
        android:mipMap="true"
        android:src="@drawable/ic_launcher"
        android:tileMode="repeat"/>
    
    antialias :

    自定义View的时候一般会用到的,抗锯齿,一般设置为true

    dither :

    布尔值。当位图的像素配置与屏幕不同时(例如:ARGB 8888 位图和 RGB 565 屏幕),启用或停用位图抖动。(现在大部分手机都用不到了,设置为false吧)
    * RGB565最多只能表示216=65536种图像,这对于RGB888所能表示的224=16777216种颜色来说显然在表现力上要略逊一筹。这集中表现在显示某些带有渐变效果的图片时,出现了一条条的颜色带,而不是原始的平滑的渐变效果。后来得知android使用了Dither(抖动)这种技术,以欺骗人类眼球的方式加以补偿。

    filter :

    布尔值。启用或停用位图过滤。当位图收缩或拉伸以使其外观平滑时使用过滤。(设置后,没感受出来个什么鬼0.0)

    mipMap :

    布尔值。启用或停用 mipmap 提示,如果改为mipmap会提升性能。如需了解详细信息,请参阅 setHasMipMap()。默认值为 false。

    tileMode :

    关键字。定义平铺模式。当平铺模式启用时,位图会重复。重力在平铺模式启用时将被忽略。

    必须是以下常量值之一:

    选值 说明
    disabled 不平铺位图。这是默认值。
    clamp 当着色器绘制范围超出其原边界时复制边缘颜色
    repeat 水平和垂直重复着色器的图像。
    mirror 水平和垂直重复着色器的图像,交替镜像图像以使相邻图像始终相接。

    咱们可以对pic进行封装一下,在xml中再拿去引用。

    • clamp

    这个值我使用起来和默认没看出区别,或许是我用得不对,如果有知道的,帮忙给我科普一下

    • repeat

    • mirror


    bitmap在xml中设置就这么多,我想比较有用的就是它的镜像和重复了,这效果在需要的时候,知道用它的话会省去了很多事啊

    展开全文
  • 单张图像变换大小—— img.resize()

    万次阅读 2018-05-26 13:18:21
    这个是一段学过的简单程序,可以改变图像的大小,jpg,png都可以的: #encoding=utf-8 #author: walker #date: 2014-05-15 #function: 更改图片尺寸大小 from PIL import Image ...filein: 输入图片 ...
  • sublime Text中个人推荐的字体

    万次阅读 2018-05-24 17:05:16
    “font_options”: [“no_bold”, “no_italic”, “no_antialias”, “gray_antialias”], “font_size”: 12, “font_face”: “YaHei Consolas Hybrid” }风格是Primer Sublime Text3{ “color_scheme”:
  • 描边时消除锯齿SetSmoothingMode

    千次阅读 2011-08-16 21:04:57
    SmoothingModeAntiAlias 指定消除锯齿的呈现。 SmoothingModeDefault 指定默认模式。 SmoothingModeHighQuality 指定高质量、低速度呈现。 SmoothingModeHighSpee
  • sublime好看的字体设置

    万次阅读 2017-06-01 19:09:40
    { "color_scheme": "Packages/Theme - Spacegray/base16-ocean.dark.tmTheme", "font_face": "微软雅黑", "font_options": [ "no_bold", ..."no_antialias", "gray_antialias" ], "font_size": 12,
  • myGraphics.SmoothingMode = SmoothingMode.AntiAlias; myGraphics.DrawLine(myPen, 0, 0, 12, 8); 若要使用“抗锯齿”功能绘制直线和曲线,请创建 Graphics 类的实例,并将其 SmoothingMode 属性设置为 ...
  • gdi+ 的反锯齿

    千次阅读 2008-07-24 16:53:00
    gdi+ 的反锯齿,听名字好像很专业的样子。我一开始也被吓了一跳。其实很简单。 就一句代码:e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;AntiAlias 翻译过来就是反锯齿。
  • Xterm字体大小的设置

    万次阅读 2018-03-31 09:20:59
    修改~/.Xdefaults文件 ! English font xterm*faceName: DejaVu Sans Mono:antialias=True:pixelsize=24 ! Chinese font xterm*faceNameDoublesize:WenQuanYi Zen Hei Mono:antialias=True:pixelsize=2更...
  • 这个是一段学过的简单程序,可以改变图像的大小,jpg,png都可以的: #encoding=utf-8 #author: walker #date: 2014-05-15 #function: 更改图片尺寸大小 from PIL import Image ''' filei...
  • GDI画图时的锯齿效果弱化

    千次阅读 2014-12-12 20:54:18
    当在画图时,图形有时会出现锯齿,可以使用SmoothingMode.AntiAlias来消除 代码如下: g.SmoothingMode = SmoothingMode.AntiAlias; 使图像的边缘圆滑清晰锐化的可以试试FillPath 代码如下 g.FillPath((Brushes...
  • three.js THREE.WebGLRenderer 参数

    万次阅读 2018-09-07 10:09:44
     antialias:  值:true/false  含义:是否开启反锯齿,设置为true开启反锯齿。  precision:  值:highp/mediump/lowp  含义:着色精度选择。  alpha:  值:true/false  含义:是否可以设置背景色...
  • 【Shader】用 Shader 画点和线

    千次阅读 2017-05-16 15:02:09
    Shader "Custom/SimpleDotShader" { Properties { _CircleRadius ("Circle Radius", float) = 5 _CircleColor ("Circle Color", Color) = (1,0,0,1) _LineWidth ("Line Width", float) =
  • Python图像处理库PIL的基本概念介绍

    万次阅读 多人点赞 2016-02-11 21:43:33
    这一节我们介绍一下PIL中的基本概念。 PIL中所涉及的基本概念有如下几个:通道(bands)、模式(mode)、尺寸(size)、坐标系统(coordinate system)、调色板(palette)、信息(info)和滤波器(filters)。...
  • 在PIL库中可以实现图形的缩放,但是 如果使用下面的写法的话,会...但是涅,在PIL中 带ANTIALIAS滤镜缩放结果,程序如下: img = img.resize((width, height),Image.ANTIALIAS) 这样的话就不会有信息丢失啦  ...
  • FSAA是Full Screen AntiAlias的缩写,这是一种可由硬件实现的低成本抗锯齿方法,由pipeline在光栅化阶段做一下Super Sampling,效果不错,速度也快。OpenGL ES给厂商实现AntiAlias提供了非常大的灵活性,只有这种...
  • three.js去掉背景颜色

    千次阅读 2019-05-18 15:45:41
    { antialias: true, alpha: true } renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true }); 不要设置 scene.background // scene.background = new THREE.Color(0xffffff); ...
  • Python 中使用PIL中的resize 进行缩放

    万次阅读 多人点赞 2017-07-19 20:09:40
    今天突然发现自己缩放程序有问题,图片缩放尺度大了就会失真。小编一直使用的是缩小的功能,图片缩小整体0.7还可以,整体缩小0.65就会有...后来找资料发现 PIL带ANTIALIAS滤镜缩放结果 所以将代码改为: img = img.
1 2 3 4 5 ... 20
收藏数 10,581
精华内容 4,232
热门标签
关键字:

antialias