2011-12-14 14 views
10

Ben bir görüntü var html görüntü haritası ile bağlantılar ve metin koydum. Bu iyi çalışıyor. Görüntünün belirli alanlarında vurgulu bir etki yapmak istiyorum. Örneğin, bir dünya haritası alın ve vurgulanan bir ülkenin üzerine gelin. Html görüntü haritası ve bazı css ile sorun değil, yani, tüm ülkelerin tüm çokgen koordinatlarının bir listesi varsa.Belirli bir görüntünün tüm çokgen koordinatlarını alma?

Yani bu nasıl alabilirim? Bunu elle yapamazsın.

Ben bir photoshop uzmanı değilim, ancak bir alanda "sihirli bir değnek" seçimi yapacağınızı ve sonra bir şekilde seçimi oluşturmak için kullanılan koordinatları listeleyeceğinizi hayal ediyorum. Böyle bir işlevsellik var mı?

Basit resim düzenleme için kişisel olarak Paint.Net kullanıyorum ve bildiğim bu özelliği yok.

Bunu yolunu biliyor musunuz?

+0

İyi soru, + oy benden. – Hoque

+0

Yani biraz bunun gibi bir şey istersiniz (http://davidlynch.org/projects/maphilight/docs/demo_world.html)? Java veya jQuery gibi bir şey kullanmayı düşünürdüm. Bir göz atın [here] (http://davidlynch.org/projects/maphilight/docs/) belki. Yardım edip edemeyeceğini bilmiyorum ama bir şey. – ACarter

cevap

0

Dreamweaver koordinatları yapmak zorunda ps herhangi bir seçenek yoktur.

4

Bu, nasıl bir programlama Q/A sitesi olduğu için JavaScript ile nasıl yapacağınızı söyleyeceğim.

#target photoshop 

// Save the current unit preferences (optional) 
var startRulerUnits = app.preferences.rulerUnits 
var startTypeUnits = app.preferences.typeUnits 



// Set units to PIXELS 
app.preferences.rulerUnits = Units.PIXELS 
app.preferences.typeUnits = TypeUnits.PIXELS 

// Use the top-most document 
var doc = app.activeDocument; 

var coords = doc.selection.bounds; 

// Write coords to textfile on the desktop. Thanks krasatos 
var f = File('~/Desktop/coords.txt'); 
f.open('w'); 
f.write(coords); 
f.close(); 



// Reset to previous unit prefs (optional) 
app.preferences.rulerUnits = startRulerUnits; 
app.preferences.typeUnits = startTypeUnits; 

Bu dikdörtgen sınırları verecektir Geçerli etkin belgede seçimi (dönüşüm gördüğünüz Sınırlama kutusunun düşünün):

seçim sınırların dikdörtgen koordinatlarını almak için en kolay yoldur. MinX, minY, maxX, maxY olarak verilir. Bu CSS koordinatlarına çevirmek için yeterli bilgi olmalıdır.

#target photoshop 

// Save the current unit preferences (optional) 
var startRulerUnits = app.preferences.rulerUnits 
var startTypeUnits = app.preferences.typeUnits 



// Set units to PIXELS 
app.preferences.rulerUnits = Units.PIXELS 
app.preferences.typeUnits = TypeUnits.PIXELS 

// Use the top-most document 
var doc = app.activeDocument; 

// Turn the selection into a work path and give it reference 
doc.selection.makeWorkPath(); 
var wPath = doc.pathItems['Work Path']; 

// This will be a string with the final output coordinates 
var coords = ''; 

// Loop through all path points and add their anchor coordinates to the output text 
for (var i=0; i<wPath.subPathItems[0].pathPoints.length; i++) { 
     coords += wPath.subPathItems[0].pathPoints[i].anchor + "\n"; 
} 


// Write coords to textfile on the desktop. Thanks krasatos 
var f = File('~/Desktop/coords.txt'); 
f.open('w'); 
f.write(coords); 
f.close(); 


// Remove the work path 
wPath.remove(); 




// Reset to previous unit prefs (optional) 
app.preferences.rulerUnits = startRulerUnits; 
app.preferences.typeUnits = startTypeUnits; 

Talimatlar:

-açık haritanız

bir yolu ve çıkış bu komut dosyası kullanılarak yolundaki her pathPoint.anchor içine seçimini yapabilir bireysel poligon noktalarının koordinatlarını almak için çok ExtendScript ile komut-işlemeli favori seçim aracını

kullanarak bölgenin bir seçim -hukukun görüntü

Dosya> Komut Dosyaları> Gözat ... seçeneğini belirleyip komut dosyasının kaydedildiği .jsx dosyasını seçin.

+0

Yeni bir yanıt göndermek için üzgünüz ama gönderilerinize yorum yapılamıyor gibi görünüyor. Kodun nasıl değiştirileceğini açıklar, böylece koordinat listesini bir metin dosyasına yazar. Fotoğrafları, photoshop thanx nvm içindeki uyarıdan kopyalayabiliyor gibi görünmüyor, bunu çözdü: bunu uyarı (coords) satırı var f = File ('~/Desktop/test/coords.txt'); f.open ('w'); f.write (coords); f.close(); Eğer uygunsuz – krasatos

+1

Yep, bu uyarıları kopya/pastable, üzgünüm unuttum eğer yazıyı silmek için çekinmeyin. Yöntemeniz çalışır veya dönüşümlü olarak extendscripts konsoluna çıkış yapmak için '$ .write (coords)' kullanabilirsiniz. – pdizz