<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    void

    ImageMagick & JMagick的使用(高品質(zhì)高效率縮略圖的解決方案, 4 Windows & Linux)

    Pure java的圖片操作,不依賴操作系統(tǒng)的功能,圖片運(yùn)算量比較大,如果批處理圖片或圖片size較大的話(如1M左右的圖片)的話,性能肯定不能滿足;用JNI(java本地調(diào)用),依賴操作系統(tǒng)提供的功能, 操作批量、大圖片,就成為首選方案。

    我在winxp環(huán)境下安裝調(diào)試JMagick,并成功運(yùn)行了測(cè)試code,實(shí)現(xiàn)了圖片的多種操作,縮略圖、旋轉(zhuǎn)、設(shè)置邊框、設(shè)置背景等等...,下面記錄安裝及配置歷史,分享給大家:
    ImageMagick, JMagick安裝、配置及使用:
    平臺(tái):winXP
    1. 安裝ImageMagick(ImageMagick website:http://www.imagemagick.org/script/index.php)
        下載并安裝ImageMagick。file name: ImageMagick-6.2.6-8-Q16-windows-dll.exe
         download address: http://prdownloads.sourceforge.net/imagemagick/ImageMagick-6.2.6-8-Q16-windows-dll.exe?download
        安裝成功后,

    把install path加入系統(tǒng)path(有些版本自己會(huì)默認(rèn)添加),以便能調(diào)用dll.保險(xiǎn)起見,

    然后再把安裝目錄下的所有dll文件復(fù)制到C:\WINDOWS\system32下(因?yàn)槲页霈F(xiàn)過只添加路徑而不復(fù)制這些文件到C:\WINDOWS\system32,程序運(yùn)行提示出錯(cuò)的情況)

    2. 安裝JMagick(JMagick website: http://www.yeo.id.au/jmagick/
        下載JMatick。file name: jmagick-6.2.6-win.zip
        download address: http://www.yeo.id.au/jmagick/quickload/win-6.2.6/jmagick-6.2.6-win.zip
        解壓后

    把jmagick-6.2.6-win\q16\jmagick.dll copy 到c:\windows\system32目錄下,如果程序在運(yùn)行的時(shí)候提示:找不到j(luò)magick路徑,用System.out.println(System.getProperty("java.library.path")). 打印出當(dāng)前環(huán)境的路徑,然后再把jmagick.dll 復(fù)制到其中的一個(gè)路徑文件夾中

     

    notes: If you are using Tomcat, or other java applications which have their own classloaders,

    方法1: 把jmagick-6.2.6-win\jar\jmagick.jar copy到項(xiàng)目的WEB-INF\lib目錄下,然后在服務(wù)啟動(dòng)初始化的時(shí)候,System.setProperty("jmagick.systemclassloader","no");   (可以在過濾器的那個(gè)類里面加上這句話,也可以自己手動(dòng)建立一個(gè)初始化的serverlet,然后加上這句話)

    方法2:簡(jiǎn)單的方法,把jmagick-6.2.6-win\jar\jmagick.jar 復(fù)制到%JAVA_HOME%\jre\lib\ext.就ok了

     

    下面總結(jié)下windows + tomcat環(huán)境的安裝配置

    1:下載安裝ImageMagick-6.3.4-10-Q16-windows-dll.exe

    2:把install path加入系統(tǒng)path,然后把install path下的dll文件復(fù)制到C:\WINDOWS\system32

    3:下載JMatick。file name:jmagick-6.2.6-win-im-6.2.9.zip

    4:把q16目錄下的jmagick.dll復(fù)制到D:\Tomcat5.0\bin下(D:\tomcat是安裝路徑)

    5:把jar_15目錄下的jmagick.jar復(fù)制到%JAVA_HOME%\jre\lib\ext.

    6:完畢,測(cè)試

     

    PS:

    web應(yīng)用如果部署到tomcat下,那么最好在catalina.bat文件中改變?nèi)缦略O(shè)置

    set JAVA_OPTS=%JAVA_OPTS% -Xms256M -Xmx768M -XX:MaxPermSize=128M -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="${catalina.base}\conf\logging.properties"

    避免heap溢出的問題,參數(shù)看你自己的機(jī)器而定。( -Xms256M -Xmx768M -XX:MaxPermSize=128M )

     

     

    下面把jmagick-6.2.6-win-im-6.2.9目錄下的說明文檔附在這里,注意看他的Getting Started和Notes部分

    This archive contains jmagick.dll 6.2.6 compiled against
    ImageMagick 6.2.9.

    q8 contains jmagick.dll compiled against ImageMagick 6.2.9-Q8
    http://www.imagemagick.org/download/binaries/ImageMagick-6.2.9-4-Q8-windows-dll.exe

    q16 contains jmagick.dll compiled against ImageMagick 6.2.9-Q16
    http://www.imagemagick.org/download/binaries/ImageMagick-6.2.9-4-Q16-windows-dll.exe

    It was built with gcc mingw 3.4.2 on Windows 2000 and Sun JDK 1.5.0 release 5.


    Getting Started:

    1. Install ImageMagick
    2. Copy the jmagick.dll corresponding with the Q8 or Q16 ImageMagick you installed to
        somewhere in your PATH. I would put it in the same directory as ImageMagick.
    3. Put jmagick.jar in your java classpath. If you are using Tomcat, or other java
        applications which have their own classloaders, move the jar up to a more global scope.
        If you had placed the jar in WEB-INF/lib and reload the webapp, java will attempt to
        reload jmagick.dll twice, and it will fail. By moving the jar up, the library will only
        be loaded once per jvm lifetime. I place mine in %JAVA_HOME%\jre\lib\ext.

    Notes:
    -------------------------------------------------------------------------------------------------
    If you see exceptions such as UnsatisfiedLinkError, you did one of the above steps incorrectly
    or you are not using the JVM/ImageMagick versions you think you are. Have your java code
    print out the java.library.path -- System.getProperty("java.library.path"). Check to ensure
    that jmagick.dll is in one of those directories.

    -------------------------------------------------------------------------------------------------
    If you run your java application as a service, any changes to the PATH environment variable will
    not be visible to java until you reboot.

    -------------------------------------------------------------------------------------------------
    This is the first time I have built jmagick.dll using gcc/mingw. Let me know if you have any issues.

    Mark Deneen
    mdeneen at gmail dot com

     

    ---------------------------------------------------------------------------------------------------------------------------------

    例子:


    /**
     * 以正方形比例輸出縮放圖片
     *
     * MaxBorderLen : 正方形邊長(zhǎng)
    */
    public void CoutImage4Square(String srcImage, String DestImage, int MaxBorderLen){
       
        System.setProperty(
    "jmagick.systemclassloader","no");
       
        
    try{  

           ImageInfo info 
    = new ImageInfo(srcImage);
           MagickImage image 
    = new MagickImage(info);
          
           
    //取長(zhǎng)寬
           Dimension dim = image.getDimension();
           
    double wImage = dim.getWidth();
           
    double hImage = dim.getHeight();
          
           Boolean bWBig 
    = wImage > hImage? true:false ;
          
           
    if (bWBig)
           {
    //長(zhǎng)大過高
            hImage = MaxBorderLen * ( hImage / wImage);
            wImage 
    = MaxBorderLen;
           }
           
    else
           {
    //反之
            wImage = MaxBorderLen * ( wImage / hImage);
            hImage 
    = MaxBorderLen;
           }

           
    //輸出
           MagickImage scaled = image.scaleImage((int)wImage, (int)hImage);
           scaled.setFileName(DestImage);  
           scaled.writeImage(info);  

           }
    catch(MagickApiException ex){
           }
    catch(MagickException ex){
        }
    }

     

     

    -------------------------------------------------------------------------------------------------------------------------

    jmagicklogo.png  JMagick是一個(gè)開源API,利用JNI(Java Native Interface)技術(shù)實(shí)現(xiàn)了對(duì)ImageMagickAPI的Java訪問接口,因此也將比純Java實(shí)現(xiàn)的圖片操作函數(shù)在速度上要快。JMagick只實(shí)現(xiàn)了ImageMagicAPI的一部分功能,它的發(fā)行遵循LGPL協(xié)議
      ImageMagick請(qǐng)參考其官方網(wǎng)站ImageMagick學(xué)習(xí)

     

    下載安裝

      安裝要求:

    1. 如果通過CVS下載的源碼,則需要GNU Autoconf
    2. GNU Make 3.77或更新版本(我用的是3.7.9).
    3. 一個(gè)ANSI C 編譯器,建議用 GNU 或 EGCS 的編譯器
    4. ImageMagick 5.5.6或更新版本
    5. Java2 JDK( JMagick是在 Sun JDK 1.4.1上開發(fā),但運(yùn)行好象不用那么高,我用的是1.3.1)


    下載過程如下:
    用CVS取源碼:

    cvs -d :pserver:anonymous@jmagick.yeo.nu:/var/cvs/jmagick login
    Password: jmagick
    cvs -d :pserver:anonymous@jmagick.yeo.nu:/var/cvs/jmagick checkout Jmagick


    也可以直接下載JMagick-5.5.6-X.tar.gz包。
    根據(jù)INSTALL文檔指示,編譯如下:

    對(duì)下載包:
    tar zxvf Jmagick-5.5.6-X.tar.gz
    cd Jmagick-5.5.6-X
    對(duì)CVS取回來的源碼
    cd JMagick
    autoconf
    以下為兩種情況都相同的部分
    ./configure
    make all
    su
    make install
    make javadoc
    make test <--如果x-win沒有啟動(dòng),大部分測(cè)試是成功的,但也會(huì)顯示一些錯(cuò)誤信息,因?yàn)闆]法顯示圖片。

     

    通過JMagick,實(shí)現(xiàn)JSP上傳圖片文件后生成縮略圖的功能


      Jmagick自身帶的Test.java程序,演示了如何使用JMagick來實(shí)現(xiàn)圖片的復(fù)制、信息獲取、斜角、特效、組合、改變大小、加邊框、旋轉(zhuǎn)、切片、改變格式、去色等等功能,編程的重要參考。
      下面主要描述如何實(shí)現(xiàn)將用JSP上傳的圖片,進(jìn)行壓縮生成縮略圖。用jsp上傳文件的全部代碼,參見利用apache-commons-fileupload寫jsp上傳文件,下面只描述圖片壓縮的實(shí)現(xiàn)。






    $TOMCATHOME/webapps/yourproject/WEB-INF/classes/com/hedong/JMagick/PicResize.java

    package com.hedong.JMagick;
    import org.apache.log4j.*;
    import java.awt.Dimension;
    import java.awt.Rectangle;
    import magick.ImageInfo;
    import magick.MagickImage;
    import magick.MagickException;
    import magick.QuantizeInfo;
    import magick.ColorspaceType;
    import magick.MagickApiException;
    import magick.PixelPacket;
    import magick.DrawInfo;
    import magick.ResolutionType;
    import magick.ProfileInfo;
    import magick.MontageInfo;
    import magick.Magick;
    import magick.MagickInfo;
    import java.io.IOException;
    import java.io.FileOutputStream;
    public class PicResize {
       
    static Logger logger = Logger.getLogger(PicResize.class.getName());
       
    public void resize(String picFrom,String picTo) {
         
    try {
           
    // Resize
           ImageInfo info = new ImageInfo(picFrom);
           MagickImage image 
    = new MagickImage(new ImageInfo(picFrom));
           MagickImage scaled 
    = image.scaleImage(10080);//小圖片文件的大小.
           scaled.setFileName(picTo);
           scaled.writeImage(info);
           logger.info(
    "alter pic form "+picFrom +" to "+picTo);
         } 
    catch(MagickApiException ex) {
           logger.error(
    "MagickException: " + ex + "" + ex.getReason() + "" + ex.getDescription());
         } 
    catch(MagickException ex) {
           logger.error(
    "MagickException: " + ex);
         }
       }
    }


    注意,需要將編譯JMagick生成的lib/jmagick.jar包,復(fù)制到$TOMCATHOME/webapps/yourproject/WEB-INF/lib目錄下。

     

    Posted by Hilton at October 29, 2003 12:13 AM | TrackBack

    Comments

    然后我把所有的*.dll文件全部COPY到system32目錄下,結(jié)果,它不報(bào)錯(cuò)了,直接把WEB服務(wù)器給搞停了。

    Posted by: rosen at April 27, 2004 01:42 PM

    已經(jīng)按照各位的方法,但還是不行,報(bào)錯(cuò):無法找到動(dòng)態(tài)鏈接庫CORE_RL_magick_.dll。

    Posted by: rosen at April 27, 2004 01:21 PM

    Sorry 心急看錯(cuò)了!!!

    Posted by: rosen at April 27, 2004 12:32 PM

    JMagick包內(nèi)沒有PicResize.java類,而我恰恰需要縮略圖功能!

    Posted by: rosen at April 27, 2004 12:24 PM

    to Hilton
    我裝了imagemagick6,然后也把jmagick.dll拷到system32下,但是為什么運(yùn)行時(shí)還是報(bào)錯(cuò)啊。報(bào)錯(cuò):無法定位程序輸入點(diǎn)DestroyMagickInfo于動(dòng)態(tài)鏈接庫CORE_RL_magick_.dll上

    Posted by: heyq at April 21, 2004 02:40 PM

    today is my birthday :)

    Posted by: t-shirts-man at April 6, 2004 05:20 PM

    我明明在windowsXP的 cmd 中 運(yùn)行 class文件,是可以處理圖片的,但是為什么放到 tomcat 里面去運(yùn)行,就報(bào)Internal error() 呢???
    而且internal error() 那一大串的東西,我根本看部懂,又不是說找不到 什么其他的類,
    啊!! 煩啊!!! 大哥指教一下好嗎???

    Posted by: Sean CWJ at April 3, 2004 06:42 PM

    樓上這位朋友我現(xiàn)在正在看imageJ的東西,但一下子沒有搞好,想得到你的幫助呀!
    聯(lián)系一下!QQ 4414155

    Posted by: david at March 23, 2004 11:07 AM

    先裝ImageMagick.

    Posted by: Hilton at February 18, 2004 01:19 PM

    我在LINUX下安裝他出現(xiàn)Unable to find ImageMagick header files
    這是怎么回事?然后跳出安裝。我是在他主頁上下載了安裝的。試了兩個(gè)版本都如此。

    Posted by: huifei at February 18, 2004 01:15 PM

    To Hilton :

    謝謝你的幫助。

    BTW,與初用者分享一點(diǎn):win環(huán)境下,只下載jmagick.jar和jmagick.dll是不夠的,還需要下載其他的dll一起使用才可以,給大家一個(gè)鏈接http://www.infomall.cn/cgi-bin/mallgate/20040514/http://www.yeo.id.au/jmagick/quickload/win-5.5.7/ImageMagick-5.5.7-Q8-windows-dll.exe,安裝后記得要重新啟動(dòng)pc。我聽從下面前輩的也將jmagick.dll放在了system32目錄下面了。

    Posted by: ryan at January 13, 2004 10:56 AM

    To ryan;

      在$JAMGICKHOME/src/test目錄下。我把它打了個(gè)包,你也可以從 http://www.infomall.cn/cgi-bin/mallgate/20040514/http://hedong.3322.org/archives/docs/test.tar.gz 下載。

    Posted by: Hilton at January 12, 2004 11:52 AM

    你們說的Test.java在哪兒?

    Posted by: ryan at January 12, 2004 11:44 AM

    //…………………………………………………………
    我在JmagicK的主頁上找不到JmagicK實(shí)現(xiàn)的API的有關(guān)文檔,所以還是不知道具體怎么用JmagicK,請(qǐng)問版主那里有文檔嗎?或者有其他助于學(xué)JmagicK的好東東。

    Posted by: zhm at December 12, 2003 08:39 AM
    //…………………………………………………………

    zhm,你可以去下載http://www.infomall.cn/cgi-bin/mallgate/20040514/http://www.yeo.id.au/jmagick/quickload/JMagick-5.5.1-bin-win32.zip
    這個(gè)包,里面包括了doc。

    Posted by: at January 12, 2004 11:39 AM

    about java.lang.UnsatisfiedLinkError: no JMagick in java.library.path.
    copy libJMagick.so $resin_home/lib

    Posted by: 湯湯 at January 2, 2004 12:14 PM

    imagesj
    應(yīng)用

    Posted by: QQ吧精彩 at December 30, 2003 01:12 PM

    老板又要我研究用JMagicK做動(dòng)畫,又要研究了。。。。。

    Posted by: zhm at December 24, 2003 06:48 PM

    To zhm;

      祝賀你安裝jmagick成功!

      去http://www.infomall.cn/cgi-bin/mallgate/20040514/http://www.dependencywalker.com/ 下載這個(gè)程序,安裝運(yùn)行它,然后利用其"open"功能打開要看的程序就可以了。

    Hilton

    Posted by: Hilton at December 19, 2003 01:32 PM

    問一下版主,怎么用depends看一個(gè)dll依賴于哪些文件?謝謝。

    Posted by: zhm at December 19, 2003 10:22 AM

    呵呵,我的也是在Windows下運(yùn)行的,折騰了一個(gè)星期,總算成功了,要把那個(gè)jmagick.dll考到系統(tǒng)的System32目錄下面,然后下載一個(gè)ImageMagick-5.5.7-Q16-windows-dll.exe安裝了,一切都OK了。

    Posted by: zhm at December 19, 2003 10:21 AM

    呵呵,我的也是在Windows下運(yùn)行的,折騰了一個(gè)星期,總算成功了,要把那個(gè)jmagick.dll考到系統(tǒng)的System32目錄下面,然后下載一個(gè)ImageMagick-5.5.7-Q16-windows-dll.exe安裝了,一切都OK了。

    Posted by: zhm at December 19, 2003 10:21 AM

    是不是需要裝imagemagick?
    你用depends看看,這個(gè)dll依賴于哪些文件?

    真不好意思,我用jmagick是在linux下的,所以對(duì)windows下的東東不是很熟悉。

    Hilton

    Posted by: Hilton at December 13, 2003 09:39 PM

    我把jmagick.dll和jmagick.jar都放到system32下但出現(xiàn)java.lang.UnsatisfiedLinkError: C:\WINDOWS\system32\JMagick.dll: Can't find dependent libraries。我是在IDEA開發(fā)中調(diào)用的,總是不成功,為什么jmagick還要有dll?不象其他java的工具包?

    Posted by: at December 13, 2003 11:59 AM

    To zhm,

    JMagick的文檔確實(shí)很少,你可以參考http://www.infomall.cn/cgi-bin/mallgate/20040514/http://www.yeo.id.au/cgi-bin/jmagick/fom 。或去ImageMagick的主頁看一下,因?yàn)閖magick僅是對(duì)imagemagick的一個(gè)java包裝。

      另外,這個(gè)包中的Test.java,把幾乎所有的功能都演示了一下,也可以看看。

    Hilton

    Posted by: Hilton at December 12, 2003 08:45 AM

    我在JmagicK的主頁上找不到JmagicK實(shí)現(xiàn)的API的有關(guān)文檔,所以還是不知道具體怎么用JmagicK,請(qǐng)問版主那里有文檔嗎?或者有其他助于學(xué)JmagicK的好東東。

    Posted by: zhm at December 12, 2003 08:39 AM

    放在運(yùn)行程序時(shí)的當(dāng)前目錄,或者放到windows的system32目錄下試試。

    Posted by: Hilton at December 11, 2003 10:00 PM

    請(qǐng)問我在運(yùn)行是出現(xiàn)java.lang.UnsatisfiedLinkError: no JMagick in java.library.path錯(cuò)誤。jmagick.dll應(yīng)該怎么用?

    Posted by: at December 11, 2003 06:11 PM

    你好,我最近也在看基于JAVA的圖像處理:
    你看看這個(gè)如何:ImageJ
    http://www.infomall.cn/cgi-bin/mallgate/20040514/http://rsb.info.nih.gov/ij/

    我想利用這個(gè)包將圖片動(dòng)態(tài)生成各種幅面的縮略圖(包含站點(diǎn)水印)。然后圖片可以通過PATH_INFO解析參數(shù),比如生成一個(gè)200*150的水印:
    http://www.infomall.cn/cgi-bin/mallgate/20040514/http://www.chedong.com/thumb/200/150/orig.jpg

     

    ---------------------------------------------------------------------------------------------------------------------------------

     

    MagickImage大家可能都用過,它主要處理一些圖片,它可以處理90多種的圖片類型.它的功能非常強(qiáng)大,而我們?cè)趯?shí)際的應(yīng)用中,主要用到它的縮放,截取,復(fù)制功能。其他的一些如寫入文字,加背景色,旋轉(zhuǎn)。。。用的少。

        第一個(gè)常用的功能縮放(scaleImage)。

        首先初始化一個(gè)ImageInfo對(duì)象,就是加載要處理的圖片路徑.
        ImageInfo info= new ImageInfo(“F:\\images\\1.jpg”);
        然后再把圖片信息ImageInfo作為構(gòu)造MagickImage的參數(shù)傳入。 MagickImage 是處理圖片的主要類。                                                                                                   
        MagickImage image= new MagickImage(info);
        再對(duì)MagickImage的對(duì)象選取方法。進(jìn)行縮放。scaleImage(w, h),第一個(gè)參數(shù)指按比例縮放后的寬度,第二個(gè)就是高度了。
        MagickImage cropped= image .scaleImage(40, 80);
        最后把處理完的圖片命名(1_scale.jpg)存放到指定的目錄下(F:/images)。
        cropped.setFileName("F:\\images\\1_scale.jpg");
        writeImage指定源圖片的ImageInfo 對(duì)象。
        cropped.writeImage(info);
       
        這樣就簡(jiǎn)單的把原來的圖片縮放成40X80的1_scale.jpg新圖片了。


        第二個(gè)常用的功能截取(cropImage)。

        首先初始化一個(gè)ImageInfo對(duì)象,就是加載要處理的圖片路徑.
        ImageInfo info= new ImageInfo(“F:\\images\\1.jpg”);
        再初始化一個(gè)合適的寬度和高度,以及起始坐標(biāo)。就是要處理后圖片的大小形狀(矩形)。
        Rectangle rect = new Rectangle(0, 0, 40, 80);
        x,y就是起始點(diǎn)的坐標(biāo),一般從圖片的左上角開始,默認(rèn)為0.w,h就是實(shí)際的寬度和高度了,不是按比例截取后的寬度和高度。
        這一點(diǎn)與上面的不同。
        然后再把圖片信息ImageInfo作為構(gòu)造MagickImage的參數(shù)傳入。 MagickImage 是處理圖片的主要類。                                                                                                   
        MagickImage image= new MagickImage(info);
        再對(duì)MagickImage的對(duì)象選取方法。進(jìn)行實(shí)際大小的截取。cropImage(rect),參數(shù)指圖片的范圍。
        MagickImage cropped = image.cropImage(rect);
        最后把處理完的圖片命名(1_crop.jpg)存放到指定的目錄下(F:/images)。
        cropped.setFileName("F:\\images\\1_crop.jpg");
        writeImage指定源圖片的ImageInfo 對(duì)象。
        cropped.writeImage(info);
       
        這樣就簡(jiǎn)單的把原來的圖片截取成40X80的1_crop.jpg新圖片了。原圖片的規(guī)格一定大于40X80,要不然截取的有空白了。自己試試就知道了。
       
      
        最后一個(gè)常用的功能復(fù)制(copy),這個(gè)最簡(jiǎn)單了。

        首先初始化一個(gè)ImageInfo對(duì)象,就是加載要處理的圖片路徑.
        ImageInfo info= new ImageInfo(“F:\\images\\1.jpg”);
      
        然后再把圖片信息ImageInfo作為構(gòu)造MagickImage的參數(shù)傳入。 MagickImage 是處理圖片的主要類。                                                                                                   
        MagickImage image= new MagickImage(info);

        最后把處理完的圖片命名(1_copy.jpg)存放到指定的目錄下(F:/images)。
        image.setFileName("F:\\images\\1_copy.jpg");
        writeImage指定源圖片的ImageInfo 對(duì)象。
        image.writeImage(info);
        這個(gè)沒有用到(cloneImage)方法,簡(jiǎn)單的理解為改變圖片的存放路徑就可以了,這樣就很輕松的實(shí)現(xiàn)了copy了,比它自帶的cloneImage簡(jiǎn)單多了。

    posted on 2008-07-19 11:54 void 閱讀(3923) 評(píng)論(1)  編輯  收藏 所屬分類: Jmagick

    Feedback

    # re: ImageMagick & JMagick的使用(高品質(zhì)高效率縮略圖的解決方案, 4 Windows & Linux) 2011-10-19 11:20 易元

    嘿嘿,剛看的時(shí)候感覺很給力,然后再提高的時(shí)候發(fā)現(xiàn)問題了。
    原來你是復(fù)制、粘貼來的啊, 你還不如給個(gè)鏈接呢,幾篇相關(guān)的文章里好多重復(fù)內(nèi)容。
    不好還是謝謝你了,加油,下次做個(gè)好的教程。  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 精品亚洲456在线播放| 亚洲一区二区三区在线观看精品中文| 久久久久亚洲av无码专区蜜芽| 一级毛片免费在线播放| 亚洲成a人片在线观看老师| 免费无码一区二区| 久久久久亚洲AV无码专区网站| 一个人看的免费视频www在线高清动漫 | 久久亚洲最大成人网4438| 2021免费日韩视频网| 亚洲六月丁香六月婷婷色伊人 | 毛茸茸bbw亚洲人| 9久久免费国产精品特黄| 国产av无码专区亚洲av桃花庵| 国产在线精品观看免费观看| 亚洲精品无码久久久影院相关影片| 国产一级a毛一级a看免费视频| 国产亚洲免费的视频看| 99在线免费观看视频| 亚洲中文字幕无码一去台湾| 四虎在线播放免费永久视频| 一级做a爰全过程免费视频毛片| 亚洲女同成av人片在线观看| 免费A级毛片在线播放| 亚洲视频在线观看2018| www亚洲一级视频com| 无码国产精品一区二区免费16 | 亚洲人成电影青青在线播放| 日韩高清免费在线观看| 高清免费久久午夜精品| 久久亚洲精品中文字幕| 大学生美女毛片免费视频| av网站免费线看| 亚洲另类小说图片| 亚洲精品无码AV中文字幕电影网站| a毛片视频免费观看影院| 精品久久久久久亚洲精品| 午夜亚洲福利在线老司机| 亚洲一区二区在线免费观看| 亚洲国产成人手机在线观看| 久久九九亚洲精品|