{"id":230118,"date":"2022-12-02T18:31:00","date_gmt":"2022-12-02T15:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230118"},"modified":"2022-11-09T20:10:20","modified_gmt":"2022-11-09T17:10:20","slug":"piltide-suuruse-muutmine-programmiliselt-wordpressis","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/piltide-suuruse-muutmine-programmiliselt-wordpressis\/","title":{"rendered":"Piltide suuruse muutmine programmiliselt WordPressis"},"content":{"rendered":"\n<p>Kui olete kunagi pidanud t\u00f6\u00f6tama WordPressis piltide programmilise suuruse muutmisega, olete v\u00f5ib-olla kohanud funktsiooni <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/image_resize\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">image_resize<\/a><\/strong>.<\/p>\n<p>Lisaks v\u00f5ite teada, et see on aegunud (arvestades, et see kuvatakse ekraani \u00fclaosas):<\/p>\n<blockquote>\n<p>See funktsioon on aegunud. Kasutage selle asemel <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_get_image_editor\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_get_image_editor()<\/a><\/strong>.<\/p>\n<\/blockquote>\n<p>Ja selle amortisatsiooni t\u00f5ttu, nagu see kehtib k\u00f5igi nende kohta, kes teevad head t\u00f6\u00f6d funktsionaalsuse mahaj\u00e4tmisega, pole see ilma selle asendamiseta.<\/p>\n<p>Sel juhul r\u00e4\u00e4gime WP pildiredaktorist. See on WordPressi klass, mida saame kasutada piltide programmilise suuruse muutmiseks samade toimingute tegemiseks, mida kunagi saime kasutada algse funktsiooniga.<\/p>\n<p>Selguse huvides ei ole see konkreetne postitus t\u00e4ielik \u00f5petus selle kohta, kuidas <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/classes\/wp_image_editor\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\"><code>WP_Image_Editor<\/code><\/a><\/strong>.<\/p>\n<\/p>\n<p>Selle asemel on see lihtne juhend selle kohta, kuidas seda kasutada piltide suuruse muutmiseks aegunud funktsiooni asemel, koos selgitustega, kuidas k\u00e4sitleda juhtumeid, kus v\u00f5ib esineda vigu.<\/p>\n<h3>Kasutatava pildi leidmine<\/h3>\n<p>S\u00f5ltuvalt sellest, mida teete, v\u00f5ib teil olla v\u00f5imalik pildi failinimi hankida WordPressist endast; aga selle n\u00e4ite puhul kavatsen ma lihtsalt k\u00f5vasti kodeerida faili tee.<\/p>\n<p>See on lihtsaim viis selgitada, kuidas kasutada klassi versus tangensile minekut, kuidas programmiliselt pilti tuua, saada selle tee, saata see toimetajaklassi ja nii edasi.<\/p>\n<p>Oletame, et pildile antud tee on <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/96fa8bb3af0ee6fd821b3899e82d5fdb#file-00-filename-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">umbes selline:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\n$filename = '\/Users\/tommcfarlin\/Projects\/acme\/wp-content\/uploads\/2018\/06\/original-image.jpg';\nif (!file_exists($filename)) {\n  return;\n}<\/code><\/pre>\n<p>Seda kasutades salvestame selle muutujas, mille saame edastada m\u00f5nele teisele funktsioonile juhuks, kui tahame algset faili mitu korda kasutada.<\/p>\n<h3>Pildiredaktori eksemplari hankimine<\/h3>\n<p>J\u00e4rgmiseks peate hankima pildiredaktori klassi eksemplari, et saaksite \u00fclaltoodud teel asuva pildiga opereerida. K\u00f5ige lihtsamal kujul pole see midagi muud kui failinime edastamine funktsiooni ja seej\u00e4rel argumentide massiivi.<\/p>\n<p>Selles postituses ei huvita ma argumentide massiivi \u2013 ainult redaktori eksemplari hankimist, mille abil saan pildi suurust muuta.<\/p>\n<p>Nimetatud redaktori eksemplari haaramiseks <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/96fa8bb3af0ee6fd821b3899e82d5fdb#file-01-get-editor-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tehke lihtsalt j\u00e4rgmist.<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\n\/\/ Grab the editor for the filename of the image. \n$filename = '\/Users\/tommcfarlin\/Projects\/acme\/wp-content\/uploads\/2018\/06\/original-image.jpg';\nif (!file_exists($filename)) {\n  return;\n}\n\n$editor = wp_get_image_editor( $filename, array() );<\/code><\/pre>\n<p>See tagastab kas eksemplari redaktori eksemplari <code>**[WP_Error](https:\/\/developer.wordpress.org\/reference\/classes\/wp_error\/)**<\/code>(koos veateate ja muu teabega, mida saate probleemi tuvastamiseks kasutada). Alati on hea kontrollida, kas tagastatud v\u00e4\u00e4rtus on viga, ja <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/96fa8bb3af0ee6fd821b3899e82d5fdb#file-02-check-for-errors-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">peatada k\u00f5ik tulevased toimingud.<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\n\/\/ Grab the editor for the file and the size of the original image.\n$filename = '\/Users\/tommcfarlin\/Projects\/acme\/wp-content\/uploads\/2018\/06\/original-image.jpg';\nif (!file_exists($filename)) {\n  return;\n}\n\n$editor = wp_get_image_editor( $filename, array() );\nif (is_wp_error($editor)) {\n   \/\/ handle the problem however you deem necessary.\n}<\/code><\/pre>\n<p>Kui aga eeldada, et viga pole, v\u00f5ite alustada t\u00f6\u00f6d pildi suuruse muutmisega.<\/p>\n<h3>Pildi suuruse muutmine<\/h3>\n<p>\u00d5nneks on seda lihtne teha. Teil on vaja kolme teavet:<\/p>\n<ol>\n<li>laius,<\/li>\n<li>k\u00f5rgus,<\/li>\n<li>ja kas soovite pilti k\u00e4rpida v\u00f5i mitte.<\/li>\n<\/ol>\n<p>Minu kogemuse kohaselt on pildi k\u00e4rpimine peaaegu alati parem kui mitte, sest see v\u00e4ldib kummalist venitamist v\u00f5i moonutamist paaritu kuvasuhte korral.<\/p>\n<p>Pildi suuruse muutmisel meeldib mulle alati saada pildi praegune suurus ja seej\u00e4rel luua kordaja abil uued m\u00f5\u00f5tmed, mille v\u00f5rra soovin pildi suurust muuta.<\/p>\n<p>Oletame n\u00e4iteks, et mul on pilt ja ma tahan laiust 40% ja k\u00f5rgust 30% v\u00f5rra muuta. Selleks pean ma:<\/p>\n<ol>\n<li>saada praeguse pildi suurus,<\/li>\n<li>kasutage pildi suuruse muutmiseks uut laiust ja k\u00f5rgust.<\/li>\n<\/ol>\n<p>Programmiliselt <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/96fa8bb3af0ee6fd821b3899e82d5fdb#file-03-sizing-the-image-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">teeksite seda j\u00e4rgmiselt.<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\n\/\/ Grab the editor for the file and the size of the original image.\n$filename = '\/Users\/tommcfarlin\/Projects\/acme\/wp-content\/uploads\/2018\/06\/original-image.jpg';\nif (!file_exists($filename)) {\n  return;\n}\n\n$editor = wp_get_image_editor( $filename, array() );\nif (is_wp_error($editor)) {\n   \/\/ Handle the problem however you deem necessary.\n}\n\n\/\/ Get the dimensions for the size of the current image.\n$dimensions = $editor-&gt;get_size();\n$width = $dimensions['width'];\n$height = $dimensions['height'];\n\n\/\/ Calculate the new dimensions for the image.\n$newWidth = 0.4 * $width;\n$newHeight = 0.3 * $height;\n\n\/\/ Resize the image.\n$result = $editor-&gt;resize($newWidth, $newHeight, true);<\/code><\/pre>\n<p>Piisavalt lihtne j\u00e4lgida, kas pole?<\/p>\n<h3>Pildi salvestamine<\/h3>\n<p>L\u00f5puks j\u00e4\u00e4b \u00fcle vaid pilt salvestada. Sel juhul <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/96fa8bb3af0ee6fd821b3899e82d5fdb#file-04-saving-the-image-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kirjutatakse<\/a><\/strong> pilt \u00fcleslaadimiste kataloogi (ja tavaliselt aasta ja kuu, mille WordPress pakub).<\/p>\n<pre><code>&lt;?php\n\n\/\/ Grab the editor for the file and the size of the original image.\n$filename = '\/Users\/tommcfarlin\/Projects\/acme\/wp-content\/uploads\/2018\/06\/original-image.jpg';\nif (!file_exists($filename)) {\n  return;\n}\n\n$editor = wp_get_image_editor( $filename, array() );\nif (is_wp_error($editor)) {\n   \/\/ handle the problem however you deem necessary.\n}\n\n\/\/ Get the dimensions for the size of the current image.\n$dimensions = $editor-&gt;get_size();\n$width = $dimensions['width'];\n$height = $dimensions['height'];\n\n\/\/ Calculate the new dimensions for the image.\n$newWidth = 0.4 * $width;\n$newHeight = 0.3 * $height;\n\n\/\/ Resize the image.\n$result = $editor-&gt;resize($newWidth, $newHeight, true);\n\n\/\/ If there's no problem, save it; otherwise, print the problem.\nif (!is_wp_error($result)) {\n  $editor-&gt;save($editor-&gt;generate_filename());\n} else {\n   \/\/ Handle the problem however you deem necessary.\n}<\/code><\/pre>\n<p>Seej\u00e4rel n\u00e4ete l\u00f5pliku versiooni suurust muudetud (ja sobiva nimega) selle v\u00e4ljundi p\u00f5hjal.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>See postitus sisaldab l\u00fchikest ja lihtsat juhendit, kuidas kasutada WP pildiredaktorit piltide suuruse programmiliseks muutmiseks.<\/p>\n","protected":false},"author":1,"featured_media":163264,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,842,863],"tags":[1165],"class_list":["post-230118","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-opetused","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=230118"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230118\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/163264"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=230118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=230118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=230118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}