Can you automate actions involving pairs of images?

Hi everyone,
This is my situation:
I want to take a headshot and a name and then paste both onto a background image and then save out the result.  But I want to do this with many pairs of headshots and names.  The headshot and name are each in separate images, and the background image is a separate image that will be the same for every pair.  Using batch commands I know I can easily insert the headshots into the same background, or the names into the same background, but is there a way to insert both the name and headshot into this background and save out the results?  From what I can tell, there doesn't seem to be a way to do this without getting into scripting.
I'm using Photshop CS5.5 with Windows.
Any answers would be appreciated.
Thanks and regards

Creating data driver graphics is one way to create the kind of collage you want. If you have all the information in a database or spread sheet they can mostlikelt create the CSV files you need to go with the template you create. 
As been pointed out an other way to do it is with Photoshop Scripting however you need some to design some collage process.   I put togeter a set of Script to populate Collage templates that follow four simple rules.  It would be very easy to create a template for two images. The images can be stamped with the files name in one of 9 positions.    The Ordere in which images will be populated from a source image folder can be controlled ny adding a sequence number followed by a # as a prefix to the file name  example  "100#John Doe Jr..jpg" "101#Bozo The Clown.psd"  "200#George Washing.CR2" 201#Marther Washington.tif"  Using the BatchMultiImageCollage scripu you select the two Image protrait template point to the source folder point at the target folder check that you want name stamps select the font and position. The prefix and extention will not be part of the name stamp.
Photo Collage Toolkit 
TestCollageTemplate.jsx - Used to test a Photo Collage Template while you are making it with Photoshop.
CollageTemplateBuilder.jsx - Can build Templates compatible with this toolkit's scripts.
LayerToAlphaChan.jsx - Used to convert a Prototype Image Layer stack into a template document.
InteractivePopulateCollage.jsx - Used to interactively populate Any Photo Collage template. Offers most user control inserting pictures and text.
ReplaceCollageImage.jsx - use to replace a populated collage image Smart Object layer with an other image correctly resized and positioned.
PopulateCollageTemplate.jsx - Used to Automatically populate a Photo Collage template and leave the populated copy open in Photoshop.
BatchOneImageCollage.jsx - Used to Automatically Batch Populate Collage templates that only have one image inserted. The Collage or Image may be stamped with text.
BatchMultiImageCollage.jsx - Used to Automatically Batch Populate Any Photo Collage template with images in a source image folder. Easier to use than the interactive script. Saved collages can be tweaked.
Documentation and Examples

Similar Messages

  • Can you automatically delete anchor points when a new image is placed on top - so that it 'replaces'

    Hi all,
    I know that I can delete anchor points but I was wondering if there is a shortcut to do it on a larger scale.
    Can you automatically delete anchor points when a new image is placed on top - so that it 'replaces' the image, only on the parts obviously that you cover with the new one.
    Thank you all

    Hi,
    I'm using CS6, and I have a tree vector image, and I am trying to put names on top, but when I do this to keep it clean with no anchor points (as my other software cant read it with all the points in it) I have to manually delete each one but it deletes the whole path and I then end up with a tree, names on top, and a big gappy circle around the names.
    So really, I wanted to add the names on top, and have that delete all anchors underneath .
    Does this make sense? :S

  • Can you hook up multiple pairs of wireless headphones to the MDR-DS6500 base unit

    Can you hook up multiple pairs of wireless headphnes to the MDR-DS6500 base unit or do you need a base unit for every pair you would like to connect to your tv? if you can which models are compatible?
    Thanks

    Do I need an AirPort to attach to each set of speakers that I want to connect, or is there another kind of receiver I can hook up to the speakers that do not have any kind of WiFi or Bluetooth configuration?
    You basically have two choices: 1) Place an AirPort Express base station at each of the speaker locations, or 2) Use an AirPlay-Ready receiver that offers whole-home audio support. The latter would require that all speakers be connected back to the receiver.
    Also, if I am planning to set up the airplay by using the extended network configuration, then the Wifi base station does not need to be an AirPort station? I have Fios and had trouble last time I tried to hook up an AirPort in place of the router that they provided.
    The AirPlay networking protocol requires either a wireless or wired connection between the AirPlay server (typically iTunes) and the AirPlay speaker (AirPort Express, Apple TV, or an AirPlay-Ready receiver or speaker). AirPlay will traverse over an extended Wi-Fi network regardless of which manufacturer hardware is used.

  • Can you automatically start programs when you switch on your imac

    can you automatically start programs when you switch on your imac

    Yes, go to: Apple / System Preferences / User Groups / Login Items and add the Application to the list of things automatically set to start at login.
    However, you should limit it to those that you need or use, because adding a lot will needlessly slow down your startup time and use more RAM.
    Message was edited by: den.thed
    Oop'  late on the draw again, glad your question is answered.

  • How can you automate the monthly opening of MM periods

    How can you automate the monthly opening of MM periods ????????????

    RMMMPERI accepts a period/year or a date.
    If you enter a date the period is derived by it.
    1. create a variant and check the attribute 'selection variable' for the parameter date. Then click the button 'Selection variables' and set the current date. Every time this variant is used the parameter DATE is filled with the current date.
    2. create a job for RMMMPERI with the variant created in the preceding step. Set it as periodic.
    If you're not using a fiscal year variant simply schedule it as monthly (to be executed the first day of the month).
    If you are using a fiscal year variant you'd have to define a calendar with only the first day of each period defined as working 
    day and use it in the periodicity restrictions.
    Another possibility:
    Write a very simple ABAP which run daily to check if the period has changed and submit RMMMPERI.
    Regards
    Chander

  • Can you automatically downsample images in Keynote without cropping?

    Hello All,
    I am trying to get Keynote to perform what I think is a pretty basic task, but can't figure out how to make it happen.  I am an art teacher and frequently show my students slide shows made from a large database of .jpgs I have amassed.  Most of the .jpgs were scanned at high resolutions - roughly 2500px on the long edge.  They are made at this size to anticipate improvements in projector resolution in the future.  The slideshows I make are at XGA (1024x768) because this is the native resolution of the school's projectors. 
    I want to be able to drop large numbers of slides into a slideshow and have Keynote to automatically downsample them to fit on an XGA slide without cropping the image. I currently have "Reduce placed images to fit on slides" checked in the General Preferences.  This does downsample the images, but does so in a way that fills the slide with the image and crops on one dimension depending on the aspect ratio of the image.  So for example, with the two Kertesz images below, the top and bottom is cropped off the first one and the sides off of the second one.  Keynote scales it down so that the image fills the entire slide rather than scaling down so the entire image can fit on the slide.
    FIG 1a
    FIG 2a
    I can then go in and resize the image manually in the metrics tab of the inspector so that the full image is represented in each slide (Fig 1b and 2b below).  I have to type in the dimension that is being cropped (768 in Fig 1, 1024 in Fig 2).  This further downsamples the image fitting the entire image on the slide which is desired.  Doing this for each slide can be burdensome though if I am showing slideshows of 100 or so images.  My question is if there is a way to get the results below automatically.  I would like to drop multiple images into my slideshow and have it be downsampled so that the entire image fits on the slide.  Does anyone know how to make Keynote do this?  Thanks.
    Fig 1b
    Fig 2b

    In the layer of interest make sure the vector mask is selected. Then in the Masks panel adjust the feather slider to an amount that looks right.
    Paulo

  • Can you duplicate actions?

    I've recently started creating a order form which will automatically fill in either the item description, product number, or unit price once selected either the product number or item description from the drop down box.
    I made a smaller trial version of this form and it worked perfectly however adding all the possible 'actions' for when selecting from the drop down box took a very long time. The real order form will have a lot more items to choose from therefore will take even more time, which I don't have.
    Is there a way to copy the actions I have for the first row (Product01, Description01, Unit01) for the rest of the rows in the order form, all I would need to change is the Product01 to Product02 etc etc.
    This is what my table in my order form looks like:
    Product No:
    Description
    Quantity
    Unit Price
    Total
    PN01
    Description 01
    QTY 01
    UNIT 01
    TTL 01
    PN02
    Description 02
    QTY 02
    UNIT 02
    TTL 01
    PN03
    Description 03
    QTY 03
    UNIT 03
    TTL 03
    PNO4
    Description 04
    QTY 04
    UNIT 04
    TTL 04
    Field Names
    Product No & Description are both drop down boxs
    This is the code for one of the actions:
    //- //+ GENERATED - DO NOT EDIT (ID:5F8FCFED-90F7-48DF-9CDA-91C02E1BC86F CRC:3737938537) //+ Type: Action //+ Result2: SetFieldValue("$Node3","tovalue","4.99") //+ Result1: SetFieldValue("$Node2","tovalue","Quality safety spectacles") //+ Node3: topmostSubform[0].Page1[0].UNIT_01[0] //+ Node2: topmostSubform[0].Page1[0].Description_01[0] //+ Node1: topmostSubform[0].Page1[0].PN01[0] //+ Condition1: ListField("$Node1","textselected","NB04B") //+ ActionName: PN01.change if ($.boundItem(xfa.event.newText) == "NB04B") { this.resolveNode("Description_01").rawValue = "Quality safety spectacles"; this.resolveNode("UNIT_01").rawValue = "4.99"; }
    I just used an action builder to create these actions.
    If someone could explain a way to copy these actions and apply it to each of the rows it would be a great help and very much appriciated!
    Thanks

    Is your table a set size? Can you use JavaScript on your form? Is your form dynamic?
    Ok, I'm going to guess at these things and hope this answers your questions. (I'm guessing "no", "yeah, duh!", and "yes".)
    Make sure your form is dynamic and whatever subform houses the table is able to pagebreak and is flowed.
    Create your table with one header row and one other row.
    in that other row, add your drop down list in the first column and textfields in the others.
    In the 'exit' event add the following code:
         var rowNum = this.parent.instanceManager.count - 1;
         if (!this.isNull && this.parent.instanceIndex == rowNum) this.parent.instanceManager.addInstance();
         switch(this.rawValue){
              case("PN01"):
                   this.parent.tfDescription.rawValue = "Description of PN01";
                   this.parent.tfUnitPrice = "15.00";
                   break;
              case("PN02"):
                   this.parent.tfDescription.rawValue = "Description of PN02";
                   this.parent.tfUnitPrice = "5.00";
                   break;
              case("PN03"):
                          this.parent.tfDescription.rawValue = "Description of PN03";
                          this.parent.tfUnitPrice = "25.00";
                   break;
              //etc. for each PN
    Of course, I don't know your prices, so I'm just guessing those and the variable names. Since you aren't adding product serial numbers, they should be strings. Make sure you put "quotes" around them in the case( ): lines
    This code will automatically be added to each line in the table, and the table will add rows for you automatically. It will not add rows if the client is changing his/her selection. It will also not remove a line if the user decides to remove that choice. You can add a button for that if you'd like.

  • Offline updates mechanism: how many times can you use it before corrupting the image(wim)?

    Hi,
    As title mentions: "how many times can you use sccm 2012 offline updates for the wim file before corrupting the image(wim)"?
    J.
    Jan Hoedt

    In my experience the offline servicing feature is only OK and too unreliable for production.
    Gerry Hampson | Blog:
    www.gerryhampsoncm.blogspot.ie | LinkedIn:
    Gerry Hampson | Twitter:
    @gerryhampson

  • Can you add actions to the Flash Media Player?

    I have 2 wmv files. One is the audio and one is the video. I
    don't own any software that combines both formats maintaining
    perfect video quality. If I import the video wmv file into Flash
    (converting it first with the Flash video encoder) is there any way
    I can create an action that plays and pauses a seperate audio track
    in the project file (when hitting the button in the Flash media
    player). ??
    Thanks

    look into the Sound class.

  • Can you automatically mirror an image?

    Is there a simple way to create a mirrored image, and I don't mean a hortizontal flip.  I want the front-back flip you get when you hold a book up to a mirror.
    For example, this is the original image
    Most tutorials online say use the hortizonal flip. However, notice the pink is now on the left? Like the name says this is a flip, not a mirror.
    In this image I manually edited the top row so it appears mirrored. The pink bar stays on the right side, but the images of the books appear reversed.
    Is there a simple and easy to do this in photoshop? Flipping each book cover by hand is pretty time consuming.

    Hrizontally flipping each layer would be the way to go for the bottom image. However a true mirror would be like the middle image.

  • Can you click on an open Lightbox image to close the Lightbox?

    Does anyone out there know about the "work-around" so that when you click an open Lightbox image, the Lightbox will close?
    I can get the Lightbox image to close when I click outside the Lightbox image, but can't figure out a way to close it when I click on the Lightbox image.
    Any help is greatly appreciated.

    Thickbox is a form of Lightbox.
    The link is to the download and description page which clearly points out that Thickbox allows viewers to close the image by clicking anywhere inside or out of the image when it's displayed. (Which I believe is what you originally asked when the thread was started)
    I wasn't trying to be smart-assed or cryptic.
    That's why I posted it in 20 point type. It was my intention that you'd see it as a link and follow it for more information.
    Since I obviously got it wrong, here's the info:
    ThickBox is a webpage UI dialog widget written in  JavaScript on top of the jQuery library. Its function is to show a single image, multiple images, inline  content, iframed content, or content served through AJAX in a hybrid modal.
    Overview
    Examples
    Q & A
    Support
    Donate
    Overview-
    Features:
    ThickBox was built using the super lightweight jQuery library. Compressed, the jQuery  library is 20k, uncompressed it's 58k.
    The ThickBox JavaScript code and CSS file only add an additional  15k (only 10k by using the thickbox-compressed.js) on top of the jQuery  code. The CSS file could additionally be compressed if need be.
    ThickBox will resize images that are bigger than the browser  window.
    ThickBox offers versatility (images, iframed content, inline  content, and AJAX content).
    ThickBox will hide form elements in Windows IE 6.
    ThickBox will remain centered in the window even when the user  scrolls the page or changes the size of the browser window.  Clicking an  image, the overlay, or close link will remove ThickBox.
    Due to the ThickBox creator's view that transitions should be  tailored by individual authors, ThickBox windows do not implement fancy  transitions.  Feel free to add them as you see fit. Is this a feature?  Well, some might say it is.
    ThickBox can be invoked from a link element, input element  (typically a button), and the area element (image maps).
    Download
    code
    css
    gif
    compressed  code
    Download thickbox.js or thickbox-compressed.js,  ThickBox.css,  and the loading graphic (loadingAnimation.gif)  to your local machine (or cut and paste the code from the tabs). Along  with these three files, a copy of the jQuery JavaScript library is needed. For this site, and ThickBox, I am using the compressed version of  jQuery.
    * Thickbox 3.1 - One Box To Rule Them All.
    * By Cody Lindley (http://www.codylindley.com)
    * Copyright (c) 2007 cody lindley
    * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
    var tb_pathToImage = "images/loadingAnimation.gif";
    /*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/
    //on page load call tb_init
    $(document).ready(function(){  
      tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
      imgLoader = new Image();// preload image
      imgLoader.src = tb_pathToImage;
    //add thickbox to href & area elements that have a class of .thickbox
    function tb_init(domChunk){
      $(domChunk).click(function(){
      var t = this.title || this.name || null;
      var a = this.href || this.alt;
      var g = this.rel || false;
      tb_show(t,a,g);
      this.blur();
      return false;
    function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
      try {
        if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
          $("body","html").css({height: "100%", width: "100%"});
          $("html").css("overflow","hidden");
          if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
            $("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
            $("#TB_overlay").click(tb_remove);
        }else{//all others
          if(document.getElementById("TB_overlay") === null){
            $("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
            $("#TB_overlay").click(tb_remove);
        if(tb_detectMacXFF()){
          $("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
        }else{
          $("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
        if(caption===null){caption="";}
        $("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
        $('#TB_load').show();//show loader
        var baseURL;
         if(url.indexOf("?")!==-1){ //ff there is a query string involved
          baseURL = url.substr(0, url.indexOf("?"));
         }else{
             baseURL = url;
         var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
         var urlType = baseURL.toLowerCase().match(urlString);
        if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
          TB_PrevCaption = "";
          TB_PrevURL = "";
          TB_PrevHTML = "";
          TB_NextCaption = "";
          TB_NextURL = "";
          TB_NextHTML = "";
          TB_imageCount = "";
          TB_FoundURL = false;
          if(imageGroup){
            TB_TempArray = $("a[@rel="+imageGroup+"]").get();
            for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
              var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
                if (!(TB_TempArray[TB_Counter].href == url)) {           
                  if (TB_FoundURL) {
                    TB_NextCaption = TB_TempArray[TB_Counter].title;
                    TB_NextURL = TB_TempArray[TB_Counter].href;
                    TB_NextHTML = "<span id='TB_next'>  <a href='#'>Next &gt;</a></span>";
                  } else {
                    TB_PrevCaption = TB_TempArray[TB_Counter].title;
                    TB_PrevURL = TB_TempArray[TB_Counter].href;
                    TB_PrevHTML = "<span id='TB_prev'>  <a href='#'>&lt; Prev</a></span>";
                } else {
                  TB_FoundURL = true;
                  TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);                     
          imgPreloader = new Image();
          imgPreloader.onload = function(){   
          imgPreloader.onload = null;
          // Resizing large images - orginal by Christian Montoya edited by me.
          var pagesize = tb_getPageSize();
          var x = pagesize[0] - 150;
          var y = pagesize[1] - 150;
          var imageWidth = imgPreloader.width;
          var imageHeight = imgPreloader.height;
          if (imageWidth > x) {
            imageHeight = imageHeight * (x / imageWidth);
            imageWidth = x;
            if (imageHeight > y) {
              imageWidth = imageWidth * (y / imageHeight);
              imageHeight = y;
          } else if (imageHeight > y) {
            imageWidth = imageWidth * (y / imageHeight);
            imageHeight = y;
            if (imageWidth > x) {
              imageHeight = imageHeight * (x / imageWidth);
              imageWidth = x;
          // End Resizing
          TB_WIDTH = imageWidth + 30;
          TB_HEIGHT = imageHeight + 60;
          $("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");    
          $("#TB_closeWindowButton").click(tb_remove);
          if (!(TB_PrevHTML === "")) {
            function goPrev(){
              if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev);}
              $("#TB_window").remove();
              $("body").append("<div id='TB_window'></div>");
              tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
              return false; 
            $("#TB_prev").click(goPrev);
          if (!(TB_NextHTML === "")) {   
            function goNext(){
              $("#TB_window").remove();
              $("body").append("<div id='TB_window'></div>");
              tb_show(TB_NextCaption, TB_NextURL, imageGroup);       
              return false; 
            $("#TB_next").click(goNext);
          document.onkeydown = function(e){  
            if (e == null) { // ie
              keycode = event.keyCode;
            } else { // mozilla
              keycode = e.which;
            if(keycode == 27){ // close
              tb_remove();
            } else if(keycode == 190){ // display previous image
              if(!(TB_NextHTML == "")){
                document.onkeydown = "";
                goNext();
            } else if(keycode == 188){ // display next image
              if(!(TB_PrevHTML == "")){
                document.onkeydown = "";
                goPrev();
          tb_position();
          $("#TB_load").remove();
          $("#TB_ImageOff").click(tb_remove);
          $("#TB_window").css({display:"block"}); //for safari using css instead of show
          imgPreloader.src = url;
        }else{//code to show html
          var queryString = url.replace(/^[^\?]+\??/,'');
          var params = tb_parseQuery( queryString );
          TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
          TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
          ajaxContentW = TB_WIDTH - 30;
          ajaxContentH = TB_HEIGHT - 45;
          if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window   
              urlNoQuery = url.split('TB_');
              $("#TB_iframeContent").remove();
              if(params['modal'] != "true"){//iframe no modal
                $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");
              }else{//iframe modal
              $("#TB_overlay").unbind();
                $("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
          }else{// not an iframe, ajax
              if($("#TB_window").css("display") != "block"){
                if(params['modal'] != "true"){//ajax no modal
                $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
                }else{//ajax modal
                $("#TB_overlay").unbind();
                $("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>"); 
              }else{//this means the window is already up, we are just loading new content via ajax
                $("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
                $("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
                $("#TB_ajaxContent")[0].scrollTop = 0;
                $("#TB_ajaxWindowTitle").html(caption);
          $("#TB_closeWindowButton").click(tb_remove);
            if(url.indexOf('TB_inline') != -1){ 
              $("#TB_ajaxContent").append($('#' + params['inlineId']).children());
              $("#TB_window").unload(function () {
                $('#' + params['inlineId']).append( $("#TB_ajaxContent").children() ); // move elements back when you're finished
              tb_position();
              $("#TB_load").remove();
              $("#TB_window").css({display:"block"});
            }else if(url.indexOf('TB_iframe') != -1){
              tb_position();
              if($.browser.safari){//safari needs help because it will not fire iframe onload
                $("#TB_load").remove();
                $("#TB_window").css({display:"block"});
            }else{
              $("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
                tb_position();
                $("#TB_load").remove();
                tb_init("#TB_ajaxContent a.thickbox");
                $("#TB_window").css({display:"block"});
        if(!params['modal']){
          document.onkeyup = function(e){  
            if (e == null) { // ie
              keycode = event.keyCode;
            } else { // mozilla
              keycode = e.which;
            if(keycode == 27){ // close
              tb_remove();
      } catch(e) {
        //nothing here
    //helper functions below
    function tb_showIframe(){
      $("#TB_load").remove();
      $("#TB_window").css({display:"block"});
    function tb_remove() {
       $("#TB_imageOff").unbind("click");
      $("#TB_closeWindowButton").unbind("click");
      $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
      $("#TB_load").remove();
      if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
        $("body","html").css({height: "auto", width: "auto"});
        $("html").css("overflow","");
      document.onkeydown = "";
      document.onkeyup = "";
      return false;
    function tb_position() {
    $("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
      if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
        $("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
    function tb_parseQuery ( query ) {
       var Params = {};
       if ( ! query ) {return Params;}// return empty object
       var Pairs = query.split(/[;&]/);
       for ( var i = 0; i < Pairs.length; i++ ) {
          var KeyVal = Pairs[i].split('=');
          if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
          var key = unescape( KeyVal[0] );
          var val = unescape( KeyVal[1] );
          val = val.replace(/\+/g, ' ');
          Params[key] = val;
       return Params;
    function tb_getPageSize(){
      var de = document.documentElement;
      var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
      var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
      arrayPageSize = [w,h];
      return arrayPageSize;
    function tb_detectMacXFF() {
      var userAgent = navigator.userAgent.toLowerCase();
      if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
        return true;
    /* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/
    *{padding: 0; margin: 0;}
    /* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
    #TB_window {
      font: 12px Arial, Helvetica, sans-serif;
      color: #333333;
    #TB_secondLine {
      font: 10px Arial, Helvetica, sans-serif;
      color:#666666;
    #TB_window a:link {color: #666666;}
    #TB_window a:visited {color: #666666;}
    #TB_window a:hover {color: #000;}
    #TB_window a:active {color: #666666;}
    #TB_window a:focus{color: #666666;}
    /* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/
    #TB_overlay {
      position: fixed;
      z-index:100;
      top: 0px;
      left: 0px;
      height:100%;
      width:100%;
    .TB_overlayMacFFBGHack {background: url(macFFBgHack.png) repeat;}
    .TB_overlayBG {
      background-color:#000;
      filter:alpha(opacity=75);
      -moz-opacity: 0.75;
      opacity: 0.75;
    * html #TB_overlay { /* ie6 hack */
         position: absolute;
         height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
    #TB_window {
      position: fixed;
      background: #ffffff;
      z-index: 102;
      color:#000000;
      display:none;
      border: 4px solid #525252;
      text-align:left;
      top:50%;
      left:50%;
    * html #TB_window { /* ie6 hack */
    position: absolute;
    margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
    #TB_window img#TB_Image {
      display:block;
      margin: 15px 0 0 15px;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      border-top: 1px solid #666;
      border-left: 1px solid #666;
    #TB_caption{
      height:25px;
      padding:7px 30px 10px 25px;
      float:left;
    #TB_closeWindow{
      height:25px;
      padding:11px 25px 10px 0;
      float:right;
    #TB_closeAjaxWindow{
      padding:7px 10px 5px 0;
      margin-bottom:1px;
      text-align:right;
      float:right;
    #TB_ajaxWindowTitle{
      float:left;
      padding:7px 0 5px 10px;
      margin-bottom:1px;
    #TB_title{
      background-color:#e8e8e8;
      height:27px;
    #TB_ajaxContent{
      clear:both;
      padding:2px 15px 15px 15px;
      overflow:auto;
      text-align:left;
      line-height:1.4em;
    #TB_ajaxContent.TB_modal{
      padding:15px;
    #TB_ajaxContent p{
      padding:5px 0px 5px 0px;
    #TB_load{
      position: fixed;
      display:none;
      height:13px;
      width:208px;
      z-index:103;
      top: 50%;
      left: 50%;
      margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */
    * html #TB_load { /* ie6 hack */
    position: absolute;
    margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
    #TB_HideSelect{
      z-index:99;
      position:fixed;
      top: 0;
      left: 0;
      background-color:#fff;
      border:none;
      filter:alpha(opacity=0);
      -moz-opacity: 0;
      opacity: 0;
      height:100%;
      width:100%;
    * html #TB_HideSelect { /* ie6 hack */
         position: absolute;
         height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
    #TB_iframeContent{
      clear:both;
      border:none;
      margin-bottom:-1px;
      margin-top:1px;
      _margin-bottom:1px;
    Right Click and Download:
    * Thickbox 3 - One Box To Rule Them All.
    * By Cody Lindley (http://www.codylindley.com)
    * Copyright (c) 2007 cody lindley
    * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
    var tb_pathToImage = "images/loadingAnimation.gif";
    eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('$(o).2S(9(){1u(\'a.18, 3n.18, 3i.18\');1w=1p 1t();1w.L=2H});9 1u(b){$(b).s(9(){6 t=X.Q||X.1v||M;6 a=X.u||X.23;6 g=X.1N||P;19(t,a,g);X.2E();H P})}9 19(d,f,g){3m{3(2t o.v.J.2i==="2g"){$("v","11").r({A:"28%",z:"28%"});$("11").r("22","2Z");3(o.1Y("1F")===M){$("v").q("<U 5=\'1F\'></U><4 5=\'B\'></4><4 5=\'8\'></4>");$("#B").s(G)}}n{3(o.1Y("B")===M){$("v").q("<4 5=\'B\'></4><4 5=\'8\'></4>");$("#B").s(G)}}3(1K()){$("#B").1J("2B")}n{$("#B").1J("2z")}3(d===M){d=""}$("v").q("<4 5=\'K\'><1I L=\'"+1w.L+"\' /></4>");$(\'#K\').2y();6 h;3(f.O("?")!==-1){h=f.3l(0,f.O("?"))}n{h=f}6 i=/\\.2s$|\\.2q$|\\.2m$|\\.2l$|\\.2k$/;6 j=h.1C().2h(i);3(j==\'.2s\'||j==\'.2q\'||j==\'.2m\'||j==\'.2l\'||j==\'.2k\'){1D="";1G="";14="";1z="";1x="";R="";1n="";1r=P;3(g){E=$("a[@1N="+g+"]").36();25(D=0;((D<E.1c)&&(R===""));D++){6 k=E[D].u.1C().2h(i);3(!(E[D].u==f)){3(1r){1z=E[D].Q;1x=E[D].u;R="<1e 5=\'1X\'>&1d;&1d;<a u=\'#\'>2T &2R;</a></1e>"}n{1D=E[D].Q;1G=E[D].u;14="<1e 5=\'1U\'>&1d;&1d;<a u=\'#\'>&2O; 2N</a></1e>"}}n{1r=1b;1n="1t "+(D+1)+" 2L "+(E.1c)}}}S=1p 1t();S.1g=9(){S.1g=M;6 a=2x();6 x=a[0]-1M;6 y=a[1]-1M;6 b=S.z;6 c=S.A;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}13=b+30;1a=c+2G;$("#8").q("<a u=\'\' 5=\'1L\' Q=\'1o\'><1I 5=\'2F\' L=\'"+f+"\' z=\'"+b+"\' A=\'"+c+"\' 23=\'"+d+"\'/></a>"+"<4 5=\'2D\'>"+d+"<4 5=\'2C\'>"+1n+14+R+"</4></4><4 5=\'2A\'><a u=\'#\' 5=\'Z\' Q=\'1o\'>1l</a> 1k 1j 1s</4>");$("#Z").s(G);3(!(14==="")){9 12(){3($(o).N("s",12)){$(o).N("s",12)}$("#8").C();$("v").q("<4 5=\'8\'></4>");19(1D,1G,g);H P}$("#1U").s(12)}3(!(R==="")){9 1i(){$("#8").C();$("v").q("<4 5=\'8\'></4>");19(1z,1x,g);H P}$("#1X").s(1i)}o.1h=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}n 3(I==3k){3(!(R=="")){o.1h="";1i()}}n 3(I==3j){3(!(14=="")){o.1h="";12()}}};16();$("#K").C();$("#1L").s(G);$("#8").r({Y:"T"})};S.L=f}n{6 l=f.2r(/^[^\\?]+\\??/,\'\');6 m=2p(l);13=(m[\'z\']*1)+30||3h;1a=(m[\'A\']*1)+3g||3f;W=13-30;V=1a-3e;3(f.O(\'2j\')!=-1){1E=f.1B(\'3d\');$("#15").C();3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"</4><4 5=\'2e\'><a u=\'#\' 5=\'Z\' Q=\'1o\'>1l</a> 1k 1j 1s</4></4><U 1W=\'0\' 2d=\'0\' L=\'"+1E[0]+"\' 5=\'15\' 1v=\'15"+1f.2c(1f.1y()*2b)+"\' 1g=\'1m()\' J=\'z:"+(W+29)+"p;A:"+(V+17)+"p;\' > </U>")}n{$("#B").N();$("#8").q("<U 1W=\'0\' 2d=\'0\' L=\'"+1E[0]+"\' 5=\'15\' 1v=\'15"+1f.2c(1f.1y()*2b)+"\' 1g=\'1m()\' J=\'z:"+(W+29)+"p;A:"+(V+17)+"p;\'> </U>")}}n{3($("#8").r("Y")!="T"){3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"</4><4 5=\'2e\'><a u=\'#\' 5=\'Z\'>1l</a> 1k 1j 1s</4></4><4 5=\'F\' J=\'z:"+W+"p;A:"+V+"p\'></4>")}n{$("#B").N();$("#8").q("<4 5=\'F\' 3c=\'3b\' J=\'z:"+W+"p;A:"+V+"p;\'></4>")}}n{$("#F")[0].J.z=W+"p";$("#F")[0].J.A=V+"p";$("#F")[0].3a=0;$("#1H").11(d)}}$("#Z").s(G);3(f.O(\'37\')!=-1){$("#F").q($(\'#\'+m[\'26\']).1T());$("#8").24(9(){$(\'#\'+m[\'26\']).q($("#F").1T())});16();$("#K").C();$("#8").r({Y:"T"})}n 3(f.O(\'2j\')!=-1){16();3($.1q.35){$("#K").C();$("#8").r({Y:"T"})}}n{$("#F").34(f+="&1y="+(1p 33().32()),9(){16();$("#K").C();1u("#F a.18");$("#8").r({Y:"T"})})}}3(!m[\'1A\']){o.21=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}}}}31(e){}}9 1m(){$("#K").C();$("#8").r({Y:"T"})}9 G(){$("#2Y").N("s");$("#Z").N("s");$("#8").2X("2W",9(){$(\'#8,#B,#1F\').2V("24").N().C()});$("#K").C();3(2t o.v.J.2i=="2g"){$("v","11").r({A:"1Z",z:"1Z"});$("11").r("22","")}o.1h="";o.21="";H P}9 16(){$("#8").r({2U:\'-\'+20((13/2),10)+\'p\',z:13+\'p\'});3(!(1V.1q.2Q&&1V.1q.2P<7)){$("#8").r({38:\'-\'+20((1a/2),10)+\'p\'})}}9 2p(a){6 b={};3(!a){H b}6 c=a.1B(/[;&]/);25(6 i=0;i<c.1c;i++){6 d=c[i].1B(\'=\');3(!d||d.1c!=2){39}6 e=2a(d[0]);6 f=2a(d[1]);f=f.2r(/\\+/g,\' \');b[e]=f}H b}9 2x(){6 a=o.2M;6 w=1S.2o||1R.2o||(a&&a.1Q)||o.v.1Q;6 h=1S.1P||1R.1P||(a&&a.2n)||o.v.2n;1O=[w,h];H 1O}9 1K(){6 a=2K.2J.1C();3(a.O(\'2I\')!=-1&&a.O(\'3o\')!=-1){H 1b}}',62,211,'|||if|div|id|var||TB_window|function||||||||||||||else|document|px|append|css|click||href|body||||width|height|TB_overlay|remove|TB_Counter|TB_TempArray|TB_ajaxContent|tb_remove|return|keycode|style|TB_load|src|null|unbind|indexOf|false|title|TB_NextHTML|imgPreloader|block|iframe|ajaxContentH|ajaxContentW|this|display|TB_closeWindowButton||html|goPrev|TB_WIDTH|TB_PrevHTML|TB_iframeContent|tb_position||thickbox|tb_show|TB_HEIGHT|true|length|nbsp|span|Math|onload|onkeydown|goNext|Esc|or|close|tb_showIframe|TB_imageCount|Close|new|browser|TB_FoundURL|Key|Image|tb_init|name|imgLoader|TB_NextURL|random|TB_NextCaption|modal|split|toLowerCase|TB_PrevCaption|urlNoQuery|TB_HideSelect|TB_PrevURL|TB_ajaxWindowTitle|img|addClass|tb_detectMacXFF|TB_ImageOff|150|rel|arrayPageSize|innerHeight|clientWidth|self|window|children|TB_prev|jQuery|frameborder|TB_next|getElementById|auto|parseInt|onkeyup|overflow|alt|unload|for|inlineId||100||unescape|1000|round|hspace|TB_closeAjaxWindow|TB_title|undefined|match|maxHeight|TB_iframe|bmp|gif|png|clientHeight|innerWidth|tb_parseQuery|jpeg|replace|jpg|typeof|which|keyCode|event|tb_getPageSize|show|TB_overlayBG|TB_closeWindow|TB_overlayMacFFBGHack|TB_secondLine|TB_caption|blur|TB_Image|60|tb_pathToImage|mac|userAgent|navigator|of|documentElement|Prev|lt|version|msie|gt|ready|Next|marginLeft|trigger|fast|fadeOut|TB_imageOff|hidden||catch|getTime|Date|load|safari|get|TB_inline|marginTop|continue|scrollTop|TB_modal|class|TB_|45|440|40|630|input|188|190|substr|try|area|firefox'.split('|'),0,{}))
    How to Implement ThickBox:
    Before you can implement ThickBox make sure the page that invokes  ThickBox has a valid DTD. This is  required for ThickBox to look and function correctly.
    1. ThickBox requires the jQuery JavaScript library; because of  this, you will need to include the jquery.js file in the head element of  your web page, followed by the thickbox.js file (NOTE: jquery.js must  come first in the source order). Example below:
    <script type="text/javascript" src="path-to-file/jquery.js"></script>
    <script type="text/javascript" src="path-to-file/thickbox.js"></script>
    Once you have included the .js files, open thickbox.js or thickbox-compressed.js and locate the tb_pathToImage variable at the top of the page. Once you  have found it, make sure to change the value of tb_pathToImage to the  path where the loadingAnimation.gif file is located on your own server.
    2. Include the ThickBox CSS file in your web page. As of version  3.1 you will                     also need to update the path to the macFFBgHack.png in the thickbox.css                     file. Example options below:
    <link rel="stylesheet" href="path-to-file/thickbox.css" type="text/css" media="screen" />
    Or
    <style type="text/css" media="all">@import "path-to-file/thickbox.css";</style>
    Or, open the thickbox.css file                     and copy and paste the styles into an existing style sheet. Be                     aware that the ThickBox CSS file will remove the browsers default                     padding and margin for all elements.
    3. View the examples to learn the many different ways to use and  invoke ThickBox functionality.
    Supported & Tested Browsers
    Windows IE 6.0, Windows IE 7+, Windows FF 2.0.0.6+, Windows Opera  9.0+,                Macintosh Safari 2.0.4+, Macintosh FF 2.0.0.6+, Macintosh Opera 9.10+
    MIT License/GNU License
    http://www.opensource.org/licenses/mit-license.php
    http://www.gnu.org/licenses/gpl.html
    Permission is hereby granted, free of charge, to any person obtaining  a copy of this software and associated documentation files (the  "Software"), to deal in the Software without restriction, including  without limitation the rights to use, copy, modify, merge, publish,  distribute, sublicense, and/or sell copies of the Software, and to  permit persons to whom the Software is furnished to do so.
    Change Log
    As of 08/01/2007
    Added modal functionality to ThickBox iframes
    Fixed Flash  transparency issue with Firefox on OSX
    Updated to jQuery 1.1.3.1
    Changed how inline content is handled in Thickbox. Instead of  duplicating the inline content thickbox will now move it accordingly  inside of the DOM
    Safari iframe source issue solved
    As of 05/02/2007
    If sizes are not set for width and/or height (inline, iframe, and  ajax content), ThickBox will default to a width of 630px and a height  of 440px
    iframe hack to hide &select" elements now only runs in IE 6
    Scrollbars are removed in IE 6 when a ThickBox is opened (to counter  IE 6's errant width and height calculations)
    Cleaned code using

  • How can you automate to combine multiple photos in photoshop

    i have thousand photos prefer to combine them in a group of 3 photos into one combined photo in an automated process...
    3 photos should line up accordingly one after one ... crop the combined photo to the max size possible ... set the image size of combined photo to 2000 by 1300 pixels ... save the combined photo...
    start with the next 3 photos in the folder...
    is this possible to automate with photoshop cc?...
    thanks for help...
    cheers,

    The contact sheet script is what it is.  If you need more than what it provides, I suggest you create your own custom scripts and actions.
    Record Your Own Actions in Photoshop CC - For Dummies
    How to create your own Photoshop scripts | Photoshop | Creative Bloq
    Nancy O.

  • Can you automatically trigger a form submit (post)

    Is it possible to automatically trigger a form 'action'
    (re-direct) without asking the user to press a button.
    I'm at the stage where the user has made some choices
    (shopping basket's full) and has decided to pay (press pay button)
    so I want now to do some data manipulation and data recording
    before transmiting the payment request to Worldpay.
    I can do this using querystrings but I'd rather do it with
    hidden fields on a form..... is it possible?
    I'm imagining calling a payment processing routine from the
    shoping basket page which would have a form containing nothing but
    hidden fields.
    Regards.

    .oO(patricktr)
    >Is it possible to automatically trigger a form 'action'
    (re-direct) without
    >asking the user to press a button.
    Not reliable, since it would require JavaScript and usually
    looks like
    an error in the application design. HTTP doesn't allow POST
    redirects
    for good reasons.
    But of course you could use server-side scripts to send POST
    requests to
    a third site behind the scenes. The user won't notice that,
    so you would
    have to find another way to tell them what happen(s|ed).
    > I'm at the stage where the user has made some choices
    (shopping basket's full)
    >and has decided to pay (press pay button) so I want now
    to do some data
    >manipulation and data recording before transmiting the
    payment request to
    >Worldpay.
    >
    > I can do this using querystrings but I'd rather do it
    with hidden fields on a
    >form..... is it possible?
    Just to make it clear: User presses "pay" button, the form
    submits to
    your own site. Then you want to do some manipulations, before
    the data
    is forwarded to the payment provider. Is this correct?
    I would probably do it like indicated above: User presses
    "pay" button,
    form submits to your own site. You do your calculations and
    then let
    your script forward the data to the payment provider, either
    with GET or
    POST. Your script receives the response and returns a result
    page to the
    user. That way your script would work like a proxy between
    the user and
    the payment provider. Of course this is just an idea, it
    might work in
    some cases, but might fail in others.
    > I'm imagining calling a payment processing routine from
    the shoping basket
    >page which would have a form containing nothing but
    hidden fields.
    Besides the unreliability mentioned above, you should also be
    aware that
    _all_ informations coming from the client-side can be
    manipulated. This
    means that users would be able to change the data in the
    hidden form
    fields before it is sent to the final recipient, they just
    have to know
    how. It depends on the informations and the used scripts if
    this can
    become an issue, but it should at least be kept in mind.
    Micha

  • Can you automatically embed Exif data in DNG files LR4

    For years I have been using Bridge and ACR for my raw workflow. I use only DNG files and have the database turned off so the EXIF data is embedded right into the original DNG file. This means my files are 100% portable without and sidecar.
    Can I work with lightroom 4 without having a database? OR can I assure that each DNG file has all it's setting automatically embedded as it does in Bridge?
    Thanks,
    Tom

    In the catalog settings, metadata tab, there is an option to automatically write to XMP.  That should do what you want.  Since there is no sidecar file with the DNG file exif data will be written to the file. 

  • Can you change the color of an image without changing it in photoshop first?

    I have created a link for Indesign using Photoshop. It is basically a plain black graphic that is placed over an aerial to highlight the represented water. It is possible to change the color of this graphic without actually going back into photoshop?

    Another option is to make a path around the image, so that you have a vector shape with full control over fill and transparency.
    You can do the path in Ps, save as clipping path, bring into InD, position, convert clipping path to frame, select and delete content, fill, fade...
    It may be easier to do the path in InD, but perhaps accurate positioning over the area you're after would be an issue.

Maybe you are looking for

  • Print to PDF Issue

    From Word 2010, when printing to the Adobe PDF printer (Acrobat 10.1.6), some users are experiencing an issue where the log file is created but the PDF document is not.  THe log file contains two lines: THe operation COmpleted successfully Pipe:\\.\p

  • When I connect my iphone to pc I systematically have the message asking me to associate it

    When I connect my iphone to pc I systematically have the message asking me to associate it to my pc. I do it and then I've always a message saying it is already associated. How can I get rid of this step ? I tried to break the association and do it a

  • Finder freezes, no icons on desktop

    After I ran the update for office 2004 and tried to download the latest 'trial' version of Photoshop from Adobe's website, I cannot open finder and all the other programs that I can open are very slow (when I restart my computer, I'm lucky if I can g

  • To find code given exit

    Hi I have the FM name EXIT_SAPLCK36_001, the enhancement is COPCP002.  can anyone tell me how to find the relevant TCode for this exit.  The where-used list isnt much helpful. Thanks for ur reply, Points will be awarded

  • Where Can I see my cookie..

    Hi All.. I am maitaining session using cookies. I am creating the cookie in my servlet and sending it to the client using response. It looks to be working fine. But when I try to find the cookie on my local machine, I could not find it. As per my kno