2016-04-22 6 views
-1

Я хочу обрезать часть изображения размером 100x100 пикселей, например, от середины до 20px и ширины 30px, а затем сохранить его в другом файле с PHP.Обрезайте изображение, а затем сохраните его в том же каталоге

Я читал и тестировал некоторый код, но я думаю, что он потерян.

Я хочу сделать это, потому что позже я хочу использовать OCR, чтобы получить текст из нового img обрезанного.

Любая помощь будет замечательной!

Вот код, который я нашел в документации php.net

<?php 
// Create image instances 
$src = imagecreatefrompng('waka.png'); 
$dest = "Select somehow /images "; 

// Copy 
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40); 

// Output and free from memory 
header('Content-Type: image/png'); 
imagepng($dest); 

imagedestroy($dest); 
imagedestroy($src); 
?> 

Я просто получаю ошибку о IMG не может показать, когда я запустить его на моем локальном сервере.

Я не совсем уверен, что мне нужно изменить, чтобы получить новый png. На самом деле у меня есть 2 img waka.png и wuku.png для тестирования.

+0

Есть ли у вас код, чтобы показать нам? Затем мы можем помочь вам улучшить его, чтобы сделать что-то, что работает. Мы не можем запрограммировать вас. – olibiaz

+0

Я просто добавлю код из php.net, который, я думаю, мне должно быть проще, чтобы получить то, что я хочу –

+0

Попробовал? Если это не ваш код, это не очень помогает нам. Попробуйте код и сообщите нам, что такое ошибка или что вы получили, что не так, как ожидалось. – olibiaz

ответ

1

Начиная с кодом, это работает для меня:

<?php 
// load your source image 
$src = imagecreatefrompng('1.png'); 
// create an image resource of your expected size 30x20 
$dest = imagecreatetruecolor(30, 20); 
// Copy the image 
imagecopy(
    $dest, 
    $src, 
    0, // 0x of your destination 
    0, // 0y of your destination 
    50, // middle x of your source 
    50, // middle y of your source 
    30, // 30px of width 
    20 // 20px of height 
); 

// The second parameter should be the path of your destination 
imagepng($dest, '2.png'); 

imagedestroy($dest); 
imagedestroy($src); 

Вы должны 2.png быть вашим обрезанное изображение.

+0

Это именно то, что я искал! Благодаря! Я не очень хорошо разбираюсь в php. –

Смежные вопросы