jurchiks Posted July 22, 2013 Report Share Posted July 22, 2013 (edited) https://github.com/jurchiks/YAIL Uztaisīju pa svētdienu, jo tā klase, kura bija pieejama darbā, bija baigais spageti un galīgi neparocīga (piemēram, lai resaizotu bildi, tev bija jāuztaisa 1 objekts ar patreizējo bildi, otrs ar tukšu bildi, un tad jākopē pirmo virsū otrajai, ar roku norādot koordinātes). Nedaudz idejas pakopēju no WideImage bibliotēkas (loadFromFile/loadFromResource metožu nosaukumi), pārējais vai nu no nulles rakstīts, vai kopēts no iepriekšējās bibliotēkas ar savām izmaiņām (unsharp mask). Basic usage: require_once 'Image.class.php'; try { Image::loadFromFile('/path/to/image') ->resize(400, 400, true/* exact size */, true /* center */) // ja exact, tad bilde tiek "iefitota" 400x400 attēlā vai nu pa vidu (ja center=true), vai sākot no top left stūra. Ja nav exact, tad bilde tiek resaizota proporcionāli, lai ielīstu 400x400 rāmī ->unsharp() // uz lielām bildēm neiesaku, baigi sūdīgs performance, jo loopo cauri katram pikselim ->toJpegFile('/path/to/destination/file.jpg', 90); // alt: toPngFile() } catch (Exception $e) { error_log('image error, ' . $e->getMessage()); } Ja toJpegFile() pirmo parametru padod null, tad outputo browserī (vajag "header('Content-type: image/jpeg')", citādi izmet kā tekstu). Feedback is welcome, ja atrodat kādus bagus, būtu ļoti labi, ja pateiktu man. Edited July 22, 2013 by jurchiks Quote Link to comment Share on other sites More sharing options...
F3llony Posted July 22, 2013 Report Share Posted July 22, 2013 Thanks, but no thanks https://github.com/avalanche123/Imagine Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 22, 2013 Author Report Share Posted July 22, 2013 (edited) Yeah, no. Man nepatīk, ka tik vienkāršam darbiņam kā bildes resaizošanai vajag tik daudzas klases. Tādā ziņā esmu minimālists. Anyway, es nesaku, ka kādam šis ir jālieto, vienkārši interesē citu domas. Edited July 22, 2013 by jurchiks Quote Link to comment Share on other sites More sharing options...
101111 Posted July 22, 2013 Report Share Posted July 22, 2013 (edited) daudzas klases Par ko kreņķis? Žēl vietas uz diska? vienkāršam darbiņam Atgādināja veco labo stāstu par paštaisīta CSV parsera programmēšanu. Edited July 22, 2013 by 101111 Quote Link to comment Share on other sites More sharing options...
marrtins Posted July 22, 2013 Report Share Posted July 22, 2013 Treniņam var rakstīt arī savus parserus, da jebko var. Savā laikā DOS taisīju peles draiveri (pat dabojās +/- pieņemami), CD-ROM draiveri + kontroles libary priekš C/PASCAL/BASIC, VGA library priekš Pascal (pat visnotaļ laba sanāca) un nemaz to nenožēloju, tas ir nācis tikai par labu, lai gan tajā laikā tas viss jau bija gatavs. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 23, 2013 Report Share Posted July 23, 2013 Ko tāds Java-like komentēšanas stils? Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 23, 2013 Author Report Share Posted July 23, 2013 (edited) Programmēt sāku mācīties ar Java. Pēc kā pateici? @101111 - nevis kreņķis, bet man tas liekas neērti. Man patīk, ka darbs ar kodu ir vienkāršs, ka man nav funkcijai jāpadod parametros speciāli konstruēti objekti. Edited July 23, 2013 by jurchiks Quote Link to comment Share on other sites More sharing options...
xfr33 Posted July 23, 2013 Report Share Posted July 23, 2013 Nav tur tāda štelle, kā salīdzināt divas bildes un noteikt cik atšķirīgas tās ir, rezultātu iedodot kaut kādā noteiktā skalā, kas varētu būt pēc atšķirību skaita (līdzīgi kā Levenšteina algoritms)? Tas šķistu interesanti. Plus, ir arī iespējams resaizot uz lielāku bildi, dramatiski nesabojājot kvalitāti? Arī tam ir dažādi algoritmi. Šīs fīčas būtu pluss tavai bibliotēkai manuprāt. Quote Link to comment Share on other sites More sharing options...
codez Posted July 23, 2013 Report Share Posted July 23, 2013 Kā var no Javas pāriet uz PHP, nevis uz Scalu? Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 23, 2013 Author Report Share Posted July 23, 2013 @codez - es sāku programmēt websaitus pirms ~2 gadiem, tad es par tādu Scala vispār neko nezināju. Turklāt web backendi nomācošā vairākumā gadījumu ir rakstīti PHP. Jāatzīst gan, ka līdz ar to nāk arī zemie kvalitātes standarti, kas man baigi besī, jo man ir ļoti augsti standarti, es neciešu piegājienu "ka tik ir". @xfr33 - par salīdzināšanu nav ne jausmas (katrā ziņā nekāds lētais method call tas nebūtu, it īpaši lielākiem failiem; galvenais jautājums gan būtu - priekš kam kaut ko tādu general-purpose bibliotēkai?), bet upscaling vēl varētu padomāt (read: nošpikot no kāda :D). Vienkārši patreiz tur ir tikai tas, kas man pašam (un principā visiem, kas ar PHP apstrādā attēlus) ir primāri vajadzīgs no tādas bibliotēkas. Ar upscaling tā ir, kā ir ar to kvalitāti, man liekas, ka, e.g., 16x16px nevar apskeilot uz 320x320px, nesabojājot kvalitāti. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 24, 2013 Report Share Posted July 24, 2013 > Ar upscaling tā ir, kā ir ar to kvalitāti, man liekas, ka, e.g., 16x16px nevar apskeilot uz 320x320px, nesabojājot kvalitāti. Tas teorētiski nav iespējams. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 24, 2013 Author Report Share Posted July 24, 2013 Nē nu izstaipīt un uzmest kaut kādu smagu blur pa virsu jau var... sharpening jau apskeilojot točna neizmantos. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 24, 2013 Report Share Posted July 24, 2013 Quote Link to comment Share on other sites More sharing options...
blackhalt Posted July 25, 2013 Report Share Posted July 25, 2013 Neko nesapratu, bet ir tādsimagefilter http://lv.php.net/manual/en/function.imagefilter.php Quote Link to comment Share on other sites More sharing options...
F3llony Posted July 26, 2013 Report Share Posted July 26, 2013 Neko nesapratu, bet ir tāds imagefilter http://lv.php.net/manual/en/function.imagefilter.php Nu un kāds te nafig sakars ar imagefilter? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.