• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers

Adding the Ability to FLIP an Image in Bridge

New Here ,
May 27, 2021 May 27, 2021

Copy link to clipboard

Copied

I would like Adobe to Add the Ability to FLIP an Image in Bridge (X Axis).

 

With the ability to flip on the X Axis, one can view their image in Any Orientation. I have been using Photoshop since version 2.2. I teach Digital Photography and Photoshop at a community college in Maryland. When I am going through my images in the Bridge, I NEED the ability to Flip an image, so I Don't have to open it in Photoshop or Lightroom because I use the slideshow to view the Final Images. I always tell my student that "when Adobe upgrades their programs, it's Always an Amazing Upgrade". For instance, when the stamp tool showed what is on your brush, I immediately upgraded my Photoshop program. 

 

Thank you for your consideration,

 

Thomas Berault

Professor of Art

Prince George's Community College

TOPICS
Feature request

Views

413

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , May 27, 2021 May 27, 2021

This can be handled with a script.

 

//©2018-2021 David M. Converse
if(BridgeTalk.appName == "bridge"){
var flipCmd = new MenuElement("command", "Flip", "at the end of Tools");
}

flipCmd.onSelect = function (){
flip();
}

function flip(){
var fPalette = new Window('palette', 'Flip', undefined, {closeButton:true});
fPalette.preferredSize = [200, 160];
fPalette.frameLocation = [100, 100];
var fpnl = fPalette.add('panel', [10,10,150,120]);
fpnl.fBtn = fpnl.add('button', [15, 25, 130, 45], 'Vertical');
fpnl.fBtn

...

Likes

Translate

Translate
Community Expert ,
May 27, 2021 May 27, 2021

Copy link to clipboard

Copied

Hi Thomas,

 

Interesting idea, but I do not think this is in Bridge's capability.

 

When you rotate an image, you are only changing the metadata of which way is up, nothing more. When you flip an image, you are actually changing the layout of the pixels and that's not within the payscale for Bridge: such action requries actual manipulation of the pixels.

 

But maybe the folks at Adob could get around that and that's beyond my payscale. Here's a much better place to leave your idea(s), this forum is mostly for helping folks with issues and almost no one from Adobe prowels through these halls anyway.

 

Here ya go:

 

https://adobebridge.uservoice.com

 

Good luck!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 27, 2021 May 27, 2021

Copy link to clipboard

Copied

This can be handled with a script.

 

//©2018-2021 David M. Converse
if(BridgeTalk.appName == "bridge"){
var flipCmd = new MenuElement("command", "Flip", "at the end of Tools");
}

flipCmd.onSelect = function (){
flip();
}

function flip(){
var fPalette = new Window('palette', 'Flip', undefined, {closeButton:true});
fPalette.preferredSize = [200, 160];
fPalette.frameLocation = [100, 100];
var fpnl = fPalette.add('panel', [10,10,150,120]);
fpnl.fBtn = fpnl.add('button', [15, 25, 130, 45], 'Vertical');
fpnl.fBtn2 = fpnl.add('button', [15, 70, 130, 90], 'Horizontal');
var dir = "v"
fPalette.show();

fpnl.fBtn.onClick = function(){
dir = "v";
meta();
}
fpnl.fBtn2.onClick = function(){
dir = "h";
meta();
}

function meta(){
var thumbs = app.document.selections; //("cr2, nef, arw");
var counter = "";
if(thumbs.length != 0){
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
for(var i = 0;i < thumbs.length;i++){
try{
if(thumbs[i].spec instanceof File && thumbs[i].hasMetadata){
var thumb = thumbs[i];
var xmp = new XMPMeta(thumb.synchronousMetadata.serialize());
var oldOr = xmp.getProperty(XMPConst.NS_TIFF, "Orientation");
var newor = 1;
if(dir == "v"){
switch(oldOr.value){
case "1":
newor = 2;
break;
case "2":
newor = 1;
break;
case "3":
newor = 4;
break;
case "4":
newor = 3;
break;
case "5":
newor = 6;
break;
case "6":
newor = 5;
break;
case "7":
newor = 8;
break;
case "8":
newor = 7;
}
}
if(dir == "h"){
switch(oldOr.value){
case "1":
newor = 4;
break;
case "2":
newor = 3;
break;
case "3":
newor = 2;
break;
case "4":
newor = 1;
break;
case "5":
newor = 8;
break;
case "6":
newor = 7;
break;
case "7":
newor = 6;
break;
case "8":
newor = 5;
}
}
xmp.setProperty(XMPConst.NS_TIFF, "Orientation", newor);
var updatedPacket = xmp.serialize(XMPConst.SERIALIZE_OMIT_PACKET_WRAPPER | XMPConst.SERIALIZE_USE_COMPACT_FORMAT);
thumb.metadata = new Metadata(updatedPacket);
}
}
catch(e){
}
}
}
}
}

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 11, 2022 Oct 11, 2022

Copy link to clipboard

Copied

I would also like to have this feature. Adobe Bridge can rotate files so it should also be able to flip them would useful. I think being able to preview a gray scale version would be great as well. Ive seen other apps do this aswell.

On the side note the script Lumigraphics made does the trick. I dont know how but this is quit amazing and I appreciate your efforts. Adobe should hire you if they havent already !

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 13, 2022 Oct 13, 2022

Copy link to clipboard

Copied

Hi Corey, rotation and flip are metadata entries. Bridge excels at metadata editing.

 

 

Here is an old script to remove any orientation metadata without affecting other metadata:

 

/* 
Remove Rotation Metadata.jsx
Based on:
https://forums.adobe.com/thread/290238
https://forums.adobe.com/message/1115698#1115698
*/

#target bridge

removeRotationMeta = {}; // create an object
removeRotationMeta.execute = function () { // create a method for that object
  var sels = app.document.selections; // store the array of selected files
  
  for (var i = 0; i < sels.length; i++) { // loop though that array
    var md = sels[i].synchronousMetadata; // get the metadata for the file
    md.namespace = "http://ns.adobe.com/tiff/1.0/"; // set the namespace
    md.Orientation = ""; // clear the rotation property
  }
}

// this script only works in bridge
if (BridgeTalk.appName == "bridge") {
  //create the munu item
  var menu = MenuElement.create("command", "Remove Rotation Metadata", "at the end of Tools");
  menu.onSelect = removeRotationMeta.execute;
}

 

 

It is then easy enough to hack it for vertical flip:

 

/* 
Set Rotation Orientation Flip Vertical.jsx
Based on:
https://forums.adobe.com/thread/290238
https://forums.adobe.com/message/1115698#1115698
*/

#target bridge

setFlipVertical = {}; // create an object
setFlipVertical.execute = function () { // create a method for that object
  var sels = app.document.selections; // store the array of selected files
  
  for (var i = 0; i < sels.length; i++) { // loop though that array
    var md = sels[i].synchronousMetadata; // get the metadata for the file
    md.namespace = "http://ns.adobe.com/tiff/1.0/"; // set the namespace
    md.Orientation = "4"; // vertical
  }
}

// this script only works in bridge
if (BridgeTalk.appName == "bridge") {
  //create the munu item
  var menu = MenuElement.create("command", "Set Rotation Orientation Metadata - Flip Vertical", "at the end of Tools");
  menu.onSelect = setFlipVertical.execute;
}

 

 

 

Or horizontal flip:

 

/* 
Set Rotation Orientation Flip Horizontal.jsx
Based on:
https://forums.adobe.com/thread/290238
https://forums.adobe.com/message/1115698#1115698
*/

#target bridge

setFlipHorizontal = {}; // create an object
setFlipHorizontal.execute = function () { // create a method for that object
  var sels = app.document.selections; // store the array of selected files
  
  for (var i = 0; i < sels.length; i++) { // loop though that array
    var md = sels[i].synchronousMetadata; // get the metadata for the file
    md.namespace = "http://ns.adobe.com/tiff/1.0/"; // set the namespace
    md.Orientation = "2"; // horizontal
  }
}

// this script only works in bridge
if (BridgeTalk.appName == "bridge") {
  //create the munu item
  var menu = MenuElement.create("command", "Set Rotation Orientation Metadata - Flip Horizontal", "at the end of Tools");
  menu.onSelect = setFlipHorizontal.execute;
}

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 14, 2022 Oct 14, 2022

Copy link to clipboard

Copied

Hi Stephen thank you for the post. Im not super keen on scripting. Would I copy and paste all the pieces you posted into a single text file?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 14, 2022 Oct 14, 2022

Copy link to clipboard

Copied

LATEST

There are three separate scripts, so three separate text files. All is explained here:

 

https://prepression.blogspot.com/2017/11/downloading-and-installing-adobe-scripts.html


Also take a look at the script from Lumigraphics.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 13, 2022 Oct 13, 2022

Copy link to clipboard

Copied

@Lumigraphics – thank you for sharing!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines