From e3e1b5f0230c8222c24346b07dd67f16445bf464 Mon Sep 17 00:00:00 2001 From: Mojtaba Jalambadani Date: Sun, 31 Jul 2022 18:57:11 +0430 Subject: [PATCH] First Update --- README.md | 26 ++++++++++++++++-- c-webp-1.0.0.jar | Bin 7298 -> 0 bytes .../github/mojtabaJ/cwebp/WebpConverter.java | 22 +++++++-------- 3 files changed, 35 insertions(+), 13 deletions(-) delete mode 100644 c-webp-1.0.0.jar diff --git a/README.md b/README.md index d6156bf..95420f6 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,33 @@ A simple compression utility for converting images (jpeg, png, tiff) to **WebP* io.github.mojtabaj c-webp - 1.0.1 + 1.0.2 ``` ---- + + +### Usage + +```java +//Use WebpConverter for converting image to webp byte with 80 quality +byte[] webpByte = WebpConverter.imageByteToWebpByte(imageByteArray, 80); +byte[] webpByte = WebpConverter.imageFileToWebpByte("../inputImage.png", 80); + +//Use WebpConverter for converting image to webp file with 80 quality +File webpFile = WebpConverter.imageByteToWebpFile(imageByteArray,"../outputImage.webp", 80); +File webpFile = WebpConverter.imageFileToWebpFile("../inputImage.png","../outputImage.webp", 80); + + +//Use CWebp to create and execute cwebp command to compress an image using the WebP format. +CWebp cwebp = new CWebp() + .input(imageFilePath) // specify the input file. + .quality(80) //factor for RGB channels + .resize(512, 512) // resize the source to a rectangle with size width x height. + .output(outputFilePath); // specify the output WebP file +cwebp.execute(); // executes the specified string command in a separate process. +``` + License ======= diff --git a/c-webp-1.0.0.jar b/c-webp-1.0.0.jar deleted file mode 100644 index 1ea2e7306fb00c84cccf0a71aa65d93350dc7fc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7298 zcmb7J1yqz<+Z`#Xp@$Bo8A@V6KvF_LkS>8shcpZ@D4-I9q<}D>ba#W)P}1EXARPh{ z5=sgDaJ|a?KD~GS-tXxMOQP<#7lHF74>AtVX$u$U6)=r2l)}8el&%#;%HGHbtBzOTb5VdMfD1^R_sSHAUJ-dz#|Nts zE2^nC`h=kec2eYE*9V&Ccwo0ZZhMR%;AE>YWShA0kYgWr0T>GOsD@Poek2I^Gr^0T zem2yLk+s9m8T=Y>IsJxjv5B$5zW^wH4={B%H*x$4`@W)C zMU9~e*8zZf0sw&H-(cDo*t-t)ZsyKVb7wA7TVofO44o5gYD)@lcwNtynHsAfKMr~1 z$~&oN(F)v=Xh24Yid1oUx_rpy2CpuBYs(ff0jQAI%PT3+`ZP^xS5WylCNT|dIlJM= z_i4bnuei0>%-X_{45{i9O}30#J2b9%Q_p*4#pc$$y-h+A4iNjqPg(sfL9=Q zUd9I@;jE=RBumzLtd9nym75_#Y@MaWsCc9%tnH4Xa2b#yrCu>dH%_UiWKVte0vs+{ zl`~IZ-`S~Hisa}fGxv~bjp2s|?I?TdBBn|`Wf0n$Nan}grAV$6FHKKxrDm$bnjnX4 zn7ZVCtY&e%F?x#Gfd~4$>XR{zf!oHQo=#^mJA_3DG>oN}*sZN2K~MpKJP9zi?9)>T zk1yWP7;|3fTGNL7;#IdQ=E0KnPCM&XRg;97!WpO-VUXS z&qn4P7KUxlpP1R(-Dfao7qlrAN?E)P3-*LEb%jMMCh$|Mx8pm>6?&&Hw!`9pQjY3c zVkaCCpSVd&JvR>sKDZPmMjg%$?hqsM7PBHdW%TJku0ylKk~&ZOcix6!#SiZA_pRLu zA9JE5BiX2X3ULitAQKK-j1h*Ld*Gk?J2!CCPt-mLFL&kx;Qe%NigbJW41hiGy*a$}8URyT%EDKJU zV(Kf+5spIMDdBviaa&g;DowV;iqrzMKUy+fx7?8xabHKEJ49sQ$e2=lAcDFf3D#4> zzPh1c4@#G|sRJCg26G@d*2Z3V`YwsSDkEDW)=7V{sQmSHWJClp97?!&&y|iu($d?v0=LNNn?Ild>Ml^xR6DuAdG0so9A(OthH9Gu%hrsX1GY+<#gXl(sHKo_!w4M+R~f?-EUW>DM-^x3>&r1b5K2y26-$=e!apTZA8`ssPaxQ&T;=EQh2tik9Wg0&|7 zJ1xo2`Li1HqwmU-fhBEq7Y(KdU7l|rA1z#leIZxW|$ExhlWs9*j=)dt%c7jjD)%} z& zbL;2Ve&~|#$Gk}gZz17@ATdD)02u!5nAb3Ofqp;Ty)-^)5vh`#;oU%8jD_n>D%Daj z3cFPn2g7hs%aik$i%{c@tYVFU*SlHP-A^U73r11*>FZ=F@MB9Nqn2kjPAa+Mx5XPg zQ5~s@Ttkdxn{6>O@#t1as#6x3?fpAF<(ds>Zua;&KG^Y)*<#<7kVC-{rd?3Qdy~^4p%XTH*QfS!^ zO!e4ig1(xaEz3bfz7%__Bjij@L{)>SqGUIPb$!U0CK~a?JXib!13QH#9-KI!Bu~S4 zA62L`c$*hFV=vVVdc&sVFWFzMRKyxZbyw$Rl4c5qtW!|as&ex!bFB|=4u=b?H%Q|k z^Br&@K^C^5{J#F&V=!!@5nBtAPXP;xg1e&jhg;k}(QTz?joBx%3EJw`(*c zfuSoSfNQ%@4JX5J))@;I{7l4Ob5;<&wDO!UG_^e$*ER>EkFJ&xp3>kbfUT*@IBHdX zP~$T+y;Pb?O8E(PJ4%0ZK;yWDjygaO!lxHCk7cM=Zdaj8)Sg=BW4aEgX1oKfXSD>)Ho{O^3~m6)cgVHaf-v0XT&}KHdY^od$u>r$2N=x!+ zwAt|BgH!jdhtddrOF5XDo!9%^9p@A6aQ8~QZE^Bx<+pOYI@?QGi@i^ftd4}u`;6J* zbg{x}saf*8fqV;I;|Gmm6}_g?zIMxiwm?dn>+wyx3&!!yN4|4(pBW_XoP+8G3D0R! z*49XmzY_L%!oPx21fO8a?UNoa&g$LLBe$BD_N4Qj;Mya2ZF%-aoIWbBlHf=h0!Dw7%vISi%OWMlyClgnhF&Issed#0mo6z-q^onKBM~2JIZs;$x!X$ZX&=1 z02u%6j=FoPoc|KcT2n5>n&jtpaiwv^18VoKDL$%-f=givg6w42$T-u>2c%jbPBTtf zC`Kv?QmGA)(WuaQ4wKQ)A@AH?gr$U_$yx08UOy*2zh;R%?VEtcy@4Z2_(V?GPd%j%$FV-5_YG< zWBBz)KbOL_`H{Kv6$FOuQN;-)LsU1(?*%dy(5Jn_HKybPmx4LaA5Hds43&~?db^bG zG<|O=T+lfvljT?LQn9v8)%~>os1Rp9h?S9R-Ne^)egtp!X5oa-16UlZ@WT^FV zs6NrQon1eE+{7QB?ocKofW%098}BjQ!=?fU*^;}5?pF||>7?cMMTf>O<7H7RExj z)C{n(eS~UxO;+pzVxE_ql7TitfqRy~@RXyRRD)9eZZ1ccH2Yz#5?*_RqwesV&KeTx zGP7yMXwec#wS5_OEAM7lD`l==F~(jpKOG-hK%XrBl4*P$V9iInB7LalG(~)7^F@!XAsxXB8B*UxqW1 zEd$3Ln;<^jHb|OtX$9 zNpL1P(RHnjvP@so09d3FQQxOS$~w+Rw)aFf8q_+Zs~OHs6}zbk7Wcq{(I17>;K(fKp-CKp^h$mxiODanos(comuC`$TU+H`Gh4h%I8SF~^8REB|y^H99 zXOt)MQpJ6;-)b9Bz=GwUi$$GXx2k?jS8zbEdVcMB-&^pQ64&Rq=ufKL=o=wD6*!yk zgErs84HH)ruW!gCNe3DK(R;#IPU2nz&BAs+b@zO_(2v%^CM~Au4V`@;{&oBtQVAh- zVC62iqL@9Mlv;2ewx1)P6h(XE-g?Rwc+7oW(>B{A4SyUwUo+4Kk*vClCiL!9m3n2i z!O(+cdOX=53UKnFOQ)7leDU%XB5&CGsfKX>t3LT5q1IFDA)#SE<<#eWDUg9Rn1--v zx=RGKtvcyOLbuW?wSBTny8NJEfezGnb|gqfyekOiea6Vww5GLWYBk@;;;oU8CsP5f zNITL@KhnHCaOXj7vJ>ZSLz0kK22ql4w_21_;;iKsaYhxt z^P?!E5Liu^%Y&V~(I|9cS?`m~y2Jr-5mvVLH~hiSm+O@53%)X+Ig};P&g1bT3MKbD z=PJLkybE|{7Zu?tJJ65yRffhW3IBb2m1yIuvwPnXgy{u+6?WzP(6vAYnzl+rHd9My ze+()bpJ=aA2&uHD`9jmaa4=#p*IlC+jP5pIuyU68M^=I~#lk894{*%nk@0x^3i*zqCCT%r zRpr^Y^A^xq!G_eDJm1LTVw1$pmOiGB9zFf3a(=BM;a}{@KdVS~#%|{JKPw-<2Gjo< zZ0*4Hy)eV|SHb1czu?*aUwBi_|0=-rXMfcQ8-D@PKmz~*hyZ|F{|k+ygB=&l&bC#1 z%6{rLf!BdHrng~WNo`DFO7=sv30t3Zs{PVUcFsZGIuf?{rjTtOe0hh4VA^cz70PW^&(b!rym3ithjDf$dzSN zu!k;1F+)TKVpF*B59k`D z;9gzPZFiWroMgzlthQxBDzNtQw(4%S7&2+CQt1O`hpkMI{;%(0p0ukGQnbaDKJRBE%xUT6%y>WtgFV6@1nTqOEQUxY zb?y$<5>ZFJ=^&s;8D)`fja*^kR`vh9MO)->r-yiZXF4>?Uz-*`BDmZVr!zH@75%=Z zV4w^hS!t%J5#B0&%ubBxnfCMlbP5Q*Kp-e|Id4`}O1f1!ZU?+! zJ;G>3vEpqo^@|2l(|?>B)RTJa7v1XO`baD1%Yqej(58I*o3&W`@M~l9<7xSbP!1m+tsT$uqHlO{??8w_ta_e$lty2Xv zMD^3e(>vpQ2_?4`f*S!dZ?!#Zj1TlR&~+IR7!R$aA{r2HgODgF!%(K`MSH274lKUd z`+l(WVNVL`tG5Z?nsI5Io*tk3lp%<3Q8q>dRm`J_W^jVnPH+{}<~ug+hcqF9V=Bml6f?@vdU}8gL9h*y>YRG56NXm#nSZ#uGE8nSynM$^Xo9S(=y7MI zev-@%$06j;ZXG5YnLOU9|}cqOk5k!`4H-bE01JykjJ?AC+8Y(SxOgBJa_&VT^$yL2?}e9h)jc zP@3>Gg`J*}3GmRyI2DKxBRf;*c=|kdEM7$DnQT5{`3?*yH<9pWc5rPrVGB63Al>qD z<>Y|w%{I8>K=3^$_gq5}G;cqc?5vDTgTjSTfI9rb>nQhP{2S=~1^8eAVLST-| ztxx!>@ct-w<$AP$^;zi4v+Gw%_p&y>2F@e2yV#lRFD}9Vb%%0vc5u8X8C#pX06Uwo z-`&Cm3_Pi)FD_&1mZ8{S?(#E$i-+4gxmCHfxGl_ns;ytoRaGigUTt{aT}YT4jE;;Z z<7F5JCQu5S2*z)BwBXiGilo0E3!`qb&9R*xfiJCuC$-i>ICYU6HxSKt+rG{2d{%8} z!dFqehC+h+&;G*2G%gweU{mt4|9MVa!G7;ITn1mZ^ye%WpFd%Lb04l4ey#Uk8Uo)N z0pL`!<6`)yJ#dxjrN!|h|H<<$eWU3X&_Z%dg_n1339|Gn8HK diff --git a/src/main/java/io/github/mojtabaJ/cwebp/WebpConverter.java b/src/main/java/io/github/mojtabaJ/cwebp/WebpConverter.java index bbed044..942418a 100644 --- a/src/main/java/io/github/mojtabaJ/cwebp/WebpConverter.java +++ b/src/main/java/io/github/mojtabaJ/cwebp/WebpConverter.java @@ -13,7 +13,7 @@ * All Rights Reserved. * * - * util fot create and execute cwebp command to compresses an image using the WebP format. + * util for create and execute cwebp command to compresses an image using the WebP format. * Input format can be either PNG, JPEG, TIFF, WebP or raw Y'CbCr samples. * Note: Animated PNG and WebP files are not supported. */ @@ -21,7 +21,7 @@ public class WebpConverter { /** - * convert PNG, JPEG, TIFF, WebP image to WebP Byte + * converting PNG, JPEG, TIFF, WebP image to WebP Byte * @param imageByte input image byte * @return WebP image Byte */ @@ -30,7 +30,7 @@ public static byte[] imageByteToWebpByte(byte[] imageByte){ } /** - * convert PNG, JPEG, TIFF, WebP image to WebP Byte + * converting PNG, JPEG, TIFF, WebP image to WebP Byte * @param imageByte input image byte * @param quality compression factor for RGB channels * @return WebP image Byte @@ -59,7 +59,7 @@ public static byte[] imageByteToWebpByte(byte[] imageByte, int quality){ } /** - * convert PNG, JPEG, TIFF, WebP image to WebP Byte + * converting PNG, JPEG, TIFF, WebP image to WebP Byte * @param imageFilePath input image file path * @param quality compression factor for RGB channels * @return WebP image Byte @@ -79,7 +79,7 @@ public static byte[] imageFileToWebpByte(String imageFilePath, int quality) { } /** - * convert PNG, JPEG, TIFF, WebP image to WebP Byte + * converting PNG, JPEG, TIFF, WebP image to WebP Byte * @param imageFile input image file * @param quality compression factor for RGB channels * @return WebP image Byte @@ -91,7 +91,7 @@ public static byte[] imageFileToWebpByte(File imageFile, int quality) { /** - * convert PNG, JPEG, TIFF, WebP image to WebP File + * converting PNG, JPEG, TIFF, WebP image to WebP File * @param imageByte input image byte * @param webpPathFile output webp image path file * @return WebP image File @@ -101,7 +101,7 @@ public static File imageByteToWebpFile(byte[] imageByte, String webpPathFile){ } /** - * convert PNG, JPEG, TIFF, WebP image to WebP File + * converting PNG, JPEG, TIFF, WebP image to WebP File * @param imageByte input image byte * @param webpPathFile output webp image path file * @param quality compression factor for RGB channels @@ -130,7 +130,7 @@ public static File imageByteToWebpFile(byte[] imageByte, String webpPathFile, in } /** - * convert PNG, JPEG, TIFF, WebP image to WebP File + * converting PNG, JPEG, TIFF, WebP image to WebP File * @param imageFilePath input image file path * @param webpPathFile output webp image path file * @param quality compression factor for RGB channels @@ -146,7 +146,7 @@ public static File imageFileToWebpFile(String imageFilePath, String webpPathFile } /** - * convert PNG, JPEG, TIFF, WebP image to WebP File + * converting PNG, JPEG, TIFF, WebP image to WebP File * @param imageFile input image file * @param webpPathFile output webp image path file * @param quality compression factor for RGB channels @@ -159,7 +159,7 @@ public static File imageFileToWebpFile(File imageFile, String webpPathFile, int /** - * convert PNG, JPEG, TIFF, WebP image to WebP Byte + * converting PNG, JPEG, TIFF, WebP image to WebP Byte * @param imageFilePath input image file path * @param quality compression factor for RGB channels * @param tempDir temp directory for converting @@ -179,7 +179,7 @@ private static byte[] getWebpBytes(String imageFilePath, int quality, Path tempD } /** - * convert PNG, JPEG, TIFF, WebP image to WebP File + * converting PNG, JPEG, TIFF, WebP image to WebP File * @param imageFilePath input image file path * @param quality compression factor for RGB channels * @param tempDir temp directory for converting