@eellazy

Как прекратить ссужать фото?

Как сделать так что бы фото перестало сужатся, по бокам у фото появляются пустые места на которые можно нажать, как это убрать?
088d5154b3104e4ebf23ee08a68142b1.png

сектора которые отмечены красным можно нажать, после чего открывается фото. Как это убрать? в CCS стилях так и не смог найти этого. Если кто может помочь - пишите, ввозможно так же за отдельную плату

Спасибо пользователю @dragonesis за примечения. Не много подредактировал пост.

Сайт стоит на движке. Сам движок сужает фото. Я нашел два файла в которых происходит резка и подгон размеров для этого превью. Я пробовал их править, но ничего не получается, то фото выходит за предели то не ровно ставится. сами файлы написаны на php.
Загрузка изображений происходит через форму на сайте. После чего файл или скрипт, не знаю как правильно назвать, делает операции над фото. Нужно убрать это ссужение

Код первого файла
public function uploadItemResources($aResources,$itemId)
        {
            if($aResources != '') {
                $itemResourceManager = ItemResource::newInstance();
                $folder = osc_uploads_path().(floor($itemId/100))."/";
                $numImagesItems = osc_max_images_per_item();
                $numImages = $itemResourceManager->countResources($itemId);
                foreach ($aResources['error'] as $key => $error) {
                    if($numImagesItems==0 || ($numImagesItems>0 && $numImages<$numImagesItems)) {
                        if ($error == UPLOAD_ERR_OK) {
                            $tmpName = $aResources['tmp_name'][$key];
                            $imgres = ImageResizer::fromFile($tmpName);
                            $extension = osc_apply_filter('upload_image_extension', $imgres->getExt());
                            $mime = osc_apply_filter('upload_image_mime', $imgres->getMime());
                            // Create normal size
                            $normal_path = $path = $tmpName."_normal";
                            $size = explode('x', osc_normal_dimensions());
                            $img = ImageResizer::fromFile($tmpName)->autoRotate()->resizeTo($size[0], $size[1]);
                            if( osc_is_watermark_text() ) {
                                $img->doWatermarkText(osc_watermark_text(), osc_watermark_text_color());
                            } else if ( osc_is_watermark_image() ){
                                $img->doWatermarkImage();
                            }
                            $img->saveToFile($path, $extension);
                            // Create preview
                            $path = $tmpName."_preview";
                            $size = explode('x', osc_preview_dimensions());
                            ImageResizer::fromFile($normal_path)->resizeTo($size[0], $size[1])->saveToFile($path, $extension);
                            // Create thumbnail $normal_path
                            $path = $tmpName."_thumbnail";
                            $size = explode('x', osc_thumbnail_dimensions());
                            ImageResizer::fromFile($tmpName)->resizeTo($size[0], $size[1])->saveToFile($path, $extension);
                            $numImages++;
                            $itemResourceManager->insert(array(
                                'fk_i_item_id' => $itemId
                            ));
                            $resourceId = $itemResourceManager->dao->insertedId();
                            if(!is_dir($folder)) {
                                if (!@mkdir($folder, 0755, true)) {
                                    return 3; // PATH CAN NOT BE CREATED
                                }
                            }
                            osc_copy($tmpName.'_normal', $folder.$resourceId.'.'.$extension);
                            osc_copy($tmpName.'_preview', $folder.$resourceId.'_preview.'.$extension);
                            osc_copy($tmpName.'_thumbnail', $folder.$resourceId.'_thumbnail.'.$extension);
                            if( osc_keep_original_image() ) {
                                $path = $folder.$resourceId.'_original.'.$extension;
                                osc_copy($tmpName, $path);
                            }
                            @unlink($tmpName."_normal");
                            @unlink($tmpName."_preview");
                            @unlink($tmpName."_thumbnail");
                            @unlink($tmpName);
                            $s_path = str_replace(osc_base_path(), '', $folder);
                            $itemResourceManager->update(
                                array(
                                    's_path'          => $s_path
                                    ,'s_name'         => osc_genRandomPassword()
                                    ,'s_extension'    => $extension
                                    ,'s_content_type' => $mime
                                )
                                ,array(
                                    'pk_i_id'       => $resourceId
                                    ,'fk_i_item_id' => $itemId
                                )
                            );
                            osc_run_hook('uploaded_file', ItemResource::newInstance()->findByPrimaryKey($resourceId));
                        }
                    }
                }
                unset($itemResourceManager);
            }
            return 0; // NO PROBLEMS
        }


Второй файл
public function resizeTo($width, $height, $force_aspect = null, $upscale = true) {
            if($force_aspect==null) {
                $force_aspect = osc_force_aspect_image();
            }
            if(($this->_width/$this->_height)>=($width/$height)) {
                if($upscale) { $newW = $width; } else { $newW = ($this->_width> $width)? $width : $this->_width; };
                $newH = ceil($this->_height * ($newW / $this->_width));
                if($force_aspect) { $height = $newH; }
            } else {
                if($upscale) { $newH = $height; } else { $newH = ($this->_height > $height)? $height : $this->_height; };
                $newW = ceil($this->_width* ($newH / $this->_height));
                if($force_aspect) { $width = $newW; }
            }
            if(osc_use_imagick()) {
                $bg = new Imagick();
                if($this->ext=='jpg') {
                    $bg->newImage($width, $height, 'white');
                } else {
                    $bg->newImage($width, $height, 'none');
                }
                $this->im->thumbnailImage($width, $height, true);
                $bg->compositeImage( $this->im, imagick::COMPOSITE_OVER, floor(($width-$newW)/2), floor(($height-$newH)/2));
                $this->im = $bg;
            } else {
                $newIm = imagecreatetruecolor($width,$height);
                imagealphablending($newIm, false);
                $colorTransparent = imagecolorallocatealpha($newIm, 255, 255, 255, 127);
                imagefill($newIm, 0, 0, $colorTransparent);
                imagesavealpha($newIm, true);
                imagecopyresampled($newIm, $this->im, floor(($width-$newW)/2), floor(($height-$newH)/2), 0, 0, $newW, $newH, $this->_width, $this->_height);
                imagedestroy($this->im);
                $this->im = $newIm;
            }
            $this->_width = $width;
            $this->_height = $height;
            return $this;
        }
  • Вопрос задан
  • 257 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы