Saving changed images to your gallery

PXN8 stores all edited images in the ‘cache’ subfolder.
If you installed PXN8 at /var/www/htdocs/pixenate then all of the working images used by PXN8 will be stored in the /var/www/htdocs/pixenate/cache/ directory.
The first thing you will want to do when trying out PXN8 on your own webserver is remove the ‘save to flickr’ button and replace it with a link that saves the image to your own server-side gallery.

N.B. If you plan to overwrite the original photo when you save it to the server, then make sure to include the following javascript code in your editor page…

PXN8.replaceOnSave = true;

This will ensure that the editor doesn’t try to use a previously cached version of the image (with the same URL).

First create a save-to-gallery cgi script (or servlet) this servlet should accept a number of params one of which should be called ‘changed_image’ (or something similar). You will no doubt want to include additional parameter such as user-id and the original image id or path.
You should add the following form to your editor page…

<form method=”POST” action=”mySaveToGallery.php” onsubmit=”addPXN8ImageToForm(this); return true;”>
[… Any additional CGI parameters used by your own mySaveToGallery.php script should go here ….]
<input id=”changed_image” type=”hidden” name=”changed_image” value=””>
<input type=”submit” value=”Save to Gallery”>
</form>

Then add the following javascript code to your page…

<script type="text/javascript">
function addPXN8ImageToForm(form){
  var changedImageInput = document.getElementById("changed_image");
  changedImageInput.value = PXN8.getUncompressedImage(); 
}
</script>

Remember that the value passed in via the changed_image parameter is a relative path to the final edited image. This path is relative to where PXN8 was installed.
For example: If your webroot directory is /var/www/html/ and you installed pxn8 in /var/www/html/pixenate/ and PXN8.getUncompressedImage returns cache/fe9dworking.jpg then the changed image will be located at the following filepath… /var/www/html/pixenate/cache/fe9dworking.jpg.
Your save-to-gallery CGI script (it’s called mySaveToGallery.php in the sample code above – your own script will obviously be a different name) should either copy the file to the original image location (if the original image is stored on the filesystem) or update your gallery database (if the image is stored as a BLOB).

Advertisements

One thought on “Saving changed images to your gallery

  1. erik torres says:

    Saludos, estoy implementado la manera de que al modificar la foto la sobreescriba en la misma del usuario pero hay varias cuestiones.

    El usuario al subir su foto a la pagina la sube al tamaño original, en la parte en donde muestro sus fotos para que las pueda editar se las muestro haciendo un streming mediante un componente que se llama ASPJPEG, esto lo hago de la siguiente manera:

    ” />

    bueno el problema es que si no lo hago asi muestra las fotos en tamaño real y algunas pueden ser grandes y se salen de cuadro.

    Al mandar a llamar la imagen mediante PIXENATE lo hago asi:

    PXN8.initialize(“http://www.fotosenergizer.com/gallery/streamimage_misfotos.asp?img_gde=”+FICH);

    en donde ‘FICH’ tiene la ruta completa de la imagen, esto para que la pagina “streamimage_misfotos.asp” reciba el parametro que es la ruta de la imagen y haga el streming e imprima en pantalla la imagen.

    Mi problema es que para sobreescribir la misma imagen lo hago mediante un boton “Salvar” que le pasa el control a otra pagina la cual recibe como parametros la ruta del cache de PIXENATE (PIXENATE/cache) y la ruta de la imagen en donde quiero que la sobreescriba, y el metodo que ocupo es FileSystemObject de ASP asi:

    Response.Write(“origen= “) & Request(“origen”) & “”
    Response.Write(“destino= “) & Request(“destino”)

    dim fs
    set fs=Server.CreateObject(“Scripting.FileSystemObject”)
    fs.CopyFile Request(“origen”),Request(“destino”)
    set fs=nothing
    Session(“refresh”) = 1
    Response.Redirect(“Editar.asp”)

    Bueno el problema es que asi como lo tengo hace el filtro y efectivamente sobreescribe la imagen, pero la guarda al tamaño del streaming que hago para mostrarlas a un solo tamaño (PXN8.initialize(“http://www.fotosenergizer.com/gallery/streamimage_misfotos.asp?img_gde=”+FICH);) es decir no respeta el tamaño original de la imagen y en otros modulos las mando a imprimir en pantalla mas grandes y por lo tanto se pixelean las fotos.

    Espero me puedan ayudar

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: