[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Bildabmessungen auslesen

Martin Fischer
  
Beiträge gesamt: 12783

2. Dez 2013, 13:05
Bewertung:

gelesen: 6678

Beitrag als Lesezeichen
Hallo Johannes,

vielleicht lässt es sich folgendermaßen errechnen:

Code
// gegeben ein ausgewählte Bild 
if (app.selection.length == 0 || app.selection[0].constructor.name != 'Image')
exit();

var img = app.selection[0];

var doc = app.documents.firstItem();

// aktuelle Maßeinheit
var v_unit = doc.viewPreferences.verticalMeasurementUnits;
var h_unit = doc.viewPreferences.horizontalMeasurementUnits;

// Höhe und Breite in aktueller Maßeinheit unter Abzug der Skalierung
var img_height = (img.geometricBounds[2] - img.geometricBounds[0]) * 100 / img.absoluteVerticalScale;
var img_width = (img.geometricBounds[3] - img.geometricBounds[1]) * 100 / img.absoluteHorizontalScale;

// Höhe und Breite in Pixel
var img_heigth_in_pixels = get_in_pixels (img_height, v_unit);
var img_width_in_pixels = get_in_pixels (img_width, h_unit);

// Ausgabe
var str = 'Ergebnis\n\naktuell (100 %):\n\t' +
'Höhe:\t' + img_height + ' ' + img_heigth_in_pixels.type + '\n\t' +
'Breite:\t' + img_width + ' ' + img_width_in_pixels.type + '\n\nin Pixel:\n\t' +
'Höhe:\t' + img_heigth_in_pixels.value + ' px \n\t' +
'Breite:\t' + img_width_in_pixels.value + ' px';
alert( str);


function get_in_pixels(curr_value, curr_unit)
{
var curr_unit_value = UnitValue (curr_value, curr_unit);
return {value: curr_unit_value.as ("PIXELS"), type: curr_unit_value.type};
}


Da müsste am Ende auch der in der Verknüpfungspalette angezeigte Wert rauskommen.

Bin mir aber nicht sicher, ob ich alle möglichen Faktoren, die auf die Berechnung eine Auswirkung haben können, berücksichtigt habe.

(Dieser Beitrag wurde von Martin Fischer am 2. Dez 2013, 13:14 geändert)
Änderungsverlauf:
Beitrag geändert von Martin Fischer (Moderator) am 2. Dez 2013, 13:14