Я хочу обрезать прямоугольное изображение в непрямоугольную форму. Я понимаю, что если вы понимаете это буквально, это невозможно. В итоге я хочу получить изображение X, обрезанное по форме Y, на прозрачном фоне.
Скажем, например, что я хочу сфотографировать флаг Айдахо и обрезать его в форме штата Айдахо. Я думаю, я бы сделал что-то вроде этого:
- Создание изображения с непрозрачными пикселями для фигуры Айдахо, везде прозрачные пиксели
- Прочитайте и сохраните какое-нибудь растровое изображение для этого изображения штата Айдахо
- Для каждого непрозрачного местоположения пикселя в изображении состояния штата Айдахо скопируйте соответствующий пиксель из изображения флага состояния штата Айдахо и поместите его на пустой прозрачный холст
Шаг 1, очевидно, будет выполнен вручную, а остальное будет сделано программно. Я думаю, что у меня есть правильная идея в целом, но я не знаю, как бы я подошел к конкретике. Кто-нибудь может указать мне правильное направление?
Что касается технологии реализации, то я парень из PHP, поэтому использование gdLibrary или чего-то, что работает с PHP, вероятно, будет лучшим способом для меня.