Sebagai "penggemar fotografi" (oke, saya akui bahwa saya tidak memenuhi syarat, saya hanya telah bermain fotografi selama beberapa hari -_- !!) Selalu ada satu hal yang tidak dapat dihindari, yaitu membiarkan foto membawa parameter exif. Meskipun blog saya telah menginstal plug-in untuk menampilkan informasi exif, saya merasa bahwa plug-in masih belum terlalu kuat. Selain itu, beberapa operasi komprehensif harus dipertimbangkan, seperti penyesuaian ukuran batch, informasi hak cipta, dll.
Tentu saja, untungnya, kami masih membutuhkan PS, dan kami juga dapat menulis skrip PS untuk membiarkannya melakukan operasi tertentu sesuai dengan ide -ide kami :) hehe, saya menemukan skrip PS dari posting di forum Wuji, dan menambahkan beberapa modifikasi sesuai dengan ide -ide saya sendiri (terutama waktu, pengenalan lensa, dan pengenalan panjang fokus). Rendering ditampilkan dalam gambar pertanyaan. Dengan skrip, itu jauh lebih nyaman. Misalnya, jika Anda ingin menambahkan perbatasan exif dalam batch, itu sangat sederhana. Cukup rekam tindakan dan kemudian Batch jalankan tindakan ini :)
Akhirnya, lampirkan skrip ini:
displayDialogs = dialogModes.no; var defaultrulerunits = preferensi.rulerUnits; preferensi.rulerUnits = unit.pixels; // Dekomposisi string panjang ke dalam fungsi string tunggal ExploiturRay (item) {var i = 0; var count = 0; var tempsstring = string baru (item); temparray = array baru (1); do {i = tempsstring.indexof (":"); if (i> 0) tempsstring = tempsstring.substr (i+1, tempsstring.length-i-1); i = tempstring.indexof (">"); if (i> 0) {temparray [hitungan] = Tempsstring.substring (i if (i> 0) {temparray [count] = Tempsstring.substring (IF (i>) {Temparray [Count] = Tempsstring.substring (I if (i> 0) Tempsstring = Tempsstring.substr (i+1, Tempsstring.length-i-1); count ++;} i = Tempstring.indexof ("<"); if (i> 0) {temparray [count] = tempsstring.substr (0, i); Tempsstring = Tempstring.substr (I-1, Tempsstring.Length-I+1); Count ++;}} while (Tempstring.indexof ("</x: xmpMeta>")> 0); temparray [count] = tempsstring; Kembalikan Temparray; } var i = 0; var j = 0; var k = 0; var presulotion = 72; var ad = ""; var resratio = ""; var imageratio = ""; var dateArray1 = ""; var dateArray2 = ""; var monthArray = ""; var exposureProgramArray = ""; varray = ""; photoHight = ""; var exifdata = ""; var black = ""; var white = ""; var grey = ""; var fwidth = ""; var fhight = ""; var tsize = ""; var tleft = ""; var thight = ""; var infolayer = ""; var ti = ""; namelayer = ""; var tn = ""; var stringTemp = ""; // string sementara var make = ""; // camera company var model = ""; // kamera model var kamera = ""; // kamera var lens = ""; // terlihat jenis var lensused = ""; // lensa menggunakan var focallength = ""; // panjang fokus var exposureTime = ""; // shutter var fnumber = ""; // aperture var isospeedRatings = ""; // ISO Pengaturan var datetimeoriginal = ""; // waktu pemotretan var paparanBiasValue = ""; // Kompensasi Eksposur var ExposureProgram = ""; // Mode Eksposur Program Vared = "" "; // mode flash // Ubah ke apa yang ingin Anda tulis, seperti hak cipta dan nama web Anda sendiri, dll .//if kosong, nama yang ditetapkan oleh kamera akan digunakan var creator = "photo by kaisir"; // fotografer ad = active -active // Aglin telah menyusun kode untuk secara otomatis mengubah ukuran gambar ke ukuran komunikasi online. // Sedikit modifikasi, jika kedua sisi lebar dan lebih sempit dari 1000, itu akan dipotong secara otomatis // sisi terpanjang di sini adalah 750, dan sisi terpendek adalah 500 // Harap atur rasio aspek sesuai dengan proporsi gambar yang diambil oleh kamera Anda // Jika Anda tidak menggunakannya, Anda dapat menghapusnya // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Ad.width.value/ad.height.value; if (imageratio> 1) ad.resizeImage (resizemax, resizemin, pramilin, resamplemethod.bicubicsharper); if (imageratio == 1) ad.ressizeImage (resizemax, resizemax, presulotion, resamplemethod.bicubicsharper); if (imageratio <1) ad.ressizeImage (resizemin, resizemax, presulotion, resamplemethod.bicubicsharper); if (imageratio <1) ad.ressizeImage (resizemin, resizemax, presulotion, resamplemethod.bicubicsharper); } // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CS memperoleh informasi exif // kecepatan rana untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (stringtemp.indexof ("expoSureTime")! =-1) {exposuretime = temparray [n+1]; Break;}} // Ukuran apertur untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (stringtemp.indexof ("fnumber")! =-1) {fnumber = Temparray [n+1]; break;}}}/1) {fnumber = Temparray [n+1]; break;}}}/1) {fnumber = temparray [n+1]; break;}}}/1) {fnumber = Temparray [n+1]; break;}}}}/1) {fnumber = Temparray [n+1]; break;}}}/1) {fnumber = Temparray [n+1]; break;}} power/tapray (n+1; {stringTemp = temparray [n]; if (stringtemp.indexof ("ExpoSureProgram")! =-1) {expoSureProgram = temparray [n+1]; Break;}} // Kompensasi Eksposur untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (stringtemp.indexof ("paparanBiasValue")! =-1) {paparanBiasValue = temparray [n+1]; break;}} // mode flash untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (stringtemp.indexof ("dipecat")! =-1) {dipecat = temparray [n+1]; break;}} // Tanggal pemotretan dan waktu untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (stringtemp.indexof ("datetimeoriginal")! =-1) {dateTimeoriginal = temparray [n+1]; break;}} // Gunakan panjang fokus untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (temparray [n] == "focAllength") {focAllength = temparray [n+1]; break;}} // pengaturan {n+1 stringTemp = temparray [n]; if (stringtemp.indexof ("isospeedratings")! =-1) {isospeedRatings = ", iso"+temparray [n+5]; break;}} // Gunakan tipe lensa untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (temparray [n] == "lensa") {lens = temparray [n+1]; break;}} // produsen kamera untuk (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; if (stringtemp.indexof ("make")! =-1) {Make = temparray [n+1]; break;}} // model kamera untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (stringtemp.indexof ("model")! =-1) {var model = temparray [n+1]; Break;}} // Untuk beberapa model kamera, tidak termasuk bagian pabrikan // kamera = Make+model; // Untuk beberapa model kamera, sertakan kamera bagian pabrikan = model; // pemilik kamera untuk (n = 0; n <temparray.length; n ++) {stringTemp = temparray [n]; if (stringtemp.indexof ("creator")! =-1 && creator == "") {creator = temparray [n+5]; break;}} // periksa kecepatan rana dateArray1 = expoSureTime.split ("/"); j = dateArray1 [0]; i = DATARRAY1 [1]; if (j/i> = 1) ExpoSureTime = parseInt (j/i)+"."+(j-parseint (j/i)*i); else {i = parseInt (i/j); j = 1; expoSuretime = j+"/"+i;} // Hitung aperure = apereR1 (J+" DATARRAY1 [0]; j = DATARRAY1 [1]; if (j> 1) fnumber = i/j; elsefnumber = i; // Konversi kompensasi paparan ke dateArray desimal1 = paparanbiasvalue.split ("/"); i = dATeArray1 [0]; j = dataerrit ("/"); i = DATeArray1 [0]; j = data Digit Setelah titik desimal, hanya *100/100, simpan 1 digit, hanya *10/10 // mempertahankan 2 digit di sini, 20D tidak dapat memiliki dua baris ini jika (paparanBiasvalue! = 0) paparanBiasValue = parseint (paparanBiasvalue *100)/100; jika (paparanbiasvalue> 0) paparanBiasValue = "+"+paparanBiasValue; // Tentukan mode program paparan paparan eksposureprogramray = ["tidak terdefinisi", "manual", "program normal", "prioritas aperture", "prioritas shutter", "program kreatif", "program aksi", "mode potret", "Landsc Mode Landsc" = Landscan = Landscan = Landscan (landscan "," Mode Protret "," Landsc Mode "," Landsc Mode "," Landsc "," Landsc Mode "," PROTRROG "," LANDSC "," LANDSC "," LANDSC "," LANDSC "," LANDSC "," LANTCOR ", ExposureProgramArray [ExposureProgram]; // Periksa mode flash dateArray1 = dipecat; if (dateArray1.indexof ("true")! =-1)) "flashon"; elsefired = "flashoff"; // periksa data focal dATeArray1 = focalllight.split (""); " DATARRAY1 [1]; focAllength = parseInt (i/j); // Ubah format tanggal dateArray1 = datetimeoriginal.split ("t"); phodate = DATeArray1 [0]; photoMe = DataArray1 [1]; DataArray2 = phodate.split ("-"); bulan -bulan = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]; phodate = dateArray2 [0]+"-"+bulanarray [dateArray2 [1] -1]+"-"+DATARRAY2 [2]; DATARRAY2 = pHOTIME.SPLIT ("+"); photime = DataArray2 [0]; // Jika Anda memiliki lensa, cukup ubah saja sesuai dengan lensa dan maksimum [0]; {if (lens.indexof ("17.0-40.0 mm")! =-1) lensused = "Canon 17-40mm f4l usm"; } // Jika tidak ada informasi lensa, gunakan metode asli untuk membandingkan lain {var foclength = parseInt (focAllength); lensused = "18-55mm 1: 3.5-5.6g"; // if (foclength> = 17 && foclength <= 40) // lensused = "nikon"; // if (foclength> = 70 && foclength <= 200) // lensused = "nikon"; // if (foclength == "85") // lensused = "nikon"; // if (foclength == "100") // lensused = "nikon"; } // Gambar garis dan kotak // Tentukan hitam, Anda juga dapat mendefinisikan warna lain hitam = solidcolor baru (); black.rgb.red = black.rgb.green = black.rgb.blue = 0; // Tentukan putih, Anda juga dapat mendefinisikan warna lain putih = solidcolor baru (); white.rgb.red = white.rgb.green = white.rgb.blue = 255; // Tentukan abu -abu, Anda juga dapat mendefinisikan warna lain abu -abu = solidcolor baru (); grey.rgb.red = grey.rgb.green = grey.rgb.blue = 50; // tambahkan latar belakang latar putih = putih; // jika diubah menjadi garis hitam // latar belakangcolor = hitam; // Lebar dan sempit dari garis putih diatur ke 2 atau 4, di kedua sisi, lebar aktual dibagi dengan 2AD.Resizecanvas (ad.width.Value+2, ad.height.value+2, anchorposition.middlecenter); // Tambahkan bingkai abu -abu // latar belakangcolor = abu -abu; // Tambahkan bingkai hitam latar belakangcolor = hitam; // jika diubah menjadi bingkai putih // latar belakangcolor = putih; // Lebar dan tinggi batas, di sini atur lebar dan sempit bingkai hitam menjadi 1/40 dari lebar gambar, dan di kedua sisi, lebar aktual dibagi dengan 2Fwidth = parseint (photowidth/40); fhight = parseint (photowidth/40); // tambahkan Ad.ResizeCanvas (ad.width.value+fwidth, ad.height.value+fhight, anchorposition.middlecenter); // Tambahkan titik pelebaran di bagian bawah untuk memfasilitasi penulisan AD.ResizeCanvas (ad.width.value, ad.height.value+fhight+fhight, anchorposition.topcenter); // standar dan parameter namelayer = ad.artlayers.add (); namelayer.kind = layerkind.text; Tn = namelayer.textitem; Tn.contents = pencipta; // font hak cipta, ukuran font, warna dan tebal, dll. Tn.font = "stxingkai"; // Tn.justification yang disejajarkan dengan kanan = justifikasi.right; // ukuran font tsize = parseInt ((fwidth+10)/2); // font margin kiri dan margin bawah tleft = photowidth; thight = photheHight-fhight+tsize; // posisi penanda tn.position = [tlefor, tlefor, tlefor, tLEF. [TLEFT, TLEF. [TLEF. [TLEFTE; TSIZE; TSIZE; TSIZE; TSIZE; Tn.color = putih; // Jika itu bingkai putih, fontnya hitam //tn.color = hitam; Tn.fauxbold = true; infolayer = ad.artlayers.add (); infolayer.kind = layerkind.text; Ti = infolayer.textitem; // kanan selaras, jika dibiarkan selaras, garis berikut dapat dihilangkan ti.justification = justifikasi. "+Lensused+" @"+focAllength+" mm, "+exposureTime+" sec, f/"; ti.contents = ti.contents+fnumber+", ev "+paparanbiasvalue+isospeedrating; // jika Anda tidak tertarik pada program paparan, tolong hapus lini berikutnya. "+dipecat; ti.contents = ti.contents+"/u000d "+phodate+" "+photime; // font, ukuran font, warna, dll. ti.font =" bold "; //Ti.font = "Arial"; Ti.size = tsize; Ti.color = putih; // Jika itu kotak putih, fontnya hitam // ti.color = hitam; Ti.fauxbold = true; ad.flatten (); // -------------