2017-02-03 4 views
-1

Его уже два дня, когда я изо всех сил пытаюсь работать с функцией drawImage javascript.drawImage для обрезки не работает

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

Вот ссылка на тестовой странице draw tester

Большое спасибо заранее.

+0

Можете ли вы предоставить некоторые правильный способ изучения сценария вашей помощью? –

+0

У вас есть 2 проблемы здесь. Во-первых, вы изменили размер изображения до 500 пикселей, но размер собственного изображения составляет 300 пикселей. Вам нужно будет учитывать это. Также вы выбираете прямоугольник не по отношению к изображению, например. Поместите прямоугольник вверху слева, он должен сказать 0,0 .. Но это больше похоже на 30,70 .. – Keith

+0

Извините Крис. Я пробовал, но я не нашел способ добавить свои внешние ресурсы. – fled

ответ

0

Наконец, проблемы возникли из-за того, что drawImage работает только с естественными размерами изображения. Если вы растянете изображение по какой-либо причине, вы должны затем рассчитать соотношение между растянутыми и естественными размерами.

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

Я обновил ссылку на демонстрационную страницу этих фактов here

Благодаря хорошим советам из Кит

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