да. javascript - это способ интерактивных вещей, подобных этому. Я вижу, что это легко сделать с помощью простого скрипта и некоторых PNG (хотя вам, возможно, придется сделать что-то творческое для ротации). PHP будет нужен только для сохранения.
РЕДАКТИРОВАТЬ: На самом деле, теперь, когда я думаю об этом, подход холст HTML 5 будет лучше. Он имеет множество методов преобразования и манипулирования пикселями, и даже может сохранить изображение на стороне клиента! Помните, что HTML 5 поддерживается не во всех браузерах (в основном во всех, кроме IE).
( HTML 5 Canvas Spec )
Метод drawImage
- это то, что вы ищете:
(Цитата из спецификации)
void drawImage(in HTMLImageElement image, in float dx, in float dy, in optional float dw, in float dh);
Итак, ваш HTML будет иметь элемент canvas, который рисует картинку пользователя:
<canvas id="canvasElement" width="xx px" height="xx px">
<!-- What to display in browsers that don't support canvas -->
<p>Your browser doesn't support canvas</p>
</canvas>
Тогда ваш javascript:
var view;
var context;
var userPhoto=new Image;
userPhoto.src="uploaded.jpg";
// Update these with UI settings
var position = {x:x, y:y};
var scale;
var rotation;
function init() {
// Run this once at the loading of your page
view = document.getElementById("canvasElement");
context = view.getContext("2d");
}
function update() {
// Run this every time you want the picture size, position, rotation updated
context.clearRect(0, 0, view.width, view.height);
// Scale X and Y
context.scale( scale, scale );
// Rotate (convert degrees to radians)
context.rotate( rotation / 3.14159 * 180 )
// Draw the image at X and Y
context.drawImage( userPhoto, position.x, position.y )
}
HTML 5 Canvas очень мощный, поэтому вы можете сделать множество других вещей с вашим изображением, если вы пойдете в этом направлении. Однако, другим жизнеспособным решением было бы использовать Flash, который поддерживается везде - но я рекомендую HTML 5, поскольку это путь будущего ( Стив Джобс: Мысли о Flash ).