ในฐานะ "ผู้ที่ชื่นชอบการถ่ายภาพ" (โอเคฉันยอมรับว่าฉันไม่มีคุณสมบัติฉันเล่นการถ่ายภาพเพียงไม่กี่วัน -_- !!) มีสิ่งหนึ่งที่ไม่สามารถหลีกเลี่ยงได้เสมอซึ่งคือการปล่อยให้ภาพถ่ายนำพารามิเตอร์ EXIF แม้ว่าบล็อกของฉันได้ติดตั้งปลั๊กอินเพื่อแสดงข้อมูล exif แต่ฉันรู้สึกว่าปลั๊กอินยังคงไม่ทรงพลังมาก นอกจากนี้จะต้องพิจารณาการดำเนินการที่ครอบคลุมบางอย่างเช่นการปรับขนาดแบทช์ข้อมูลลิขสิทธิ์ ฯลฯ
แน่นอนว่าโชคดีที่เรายังต้องการ PS และเรายังสามารถเขียนสคริปต์ PS เพื่อให้เขาดำเนินการบางอย่างตามความคิดของเรา :) ฮิฮิฉันพบสคริปต์ PS จากโพสต์บนฟอรัมวูจิและเพิ่มการปรับเปลี่ยนบางอย่างตามความคิดของฉันเอง การเรนเดอร์จะแสดงในภาพคำถาม ด้วยสคริปต์มันสะดวกกว่ามาก ตัวอย่างเช่นหากคุณต้องการเพิ่มเส้นขอบ exif ในแบทช์มันเป็นเรื่องง่ายมาก เพียงบันทึกการกระทำแล้วแบทช์เรียกใช้การกระทำนี้ :)
ในที่สุดแนบสคริปต์นี้:
displayDialogs = dialogModes.no; var defaultrulerunits = preferences.rulerunits; preferences.rulerunits = units.pixels; // สลายตัวสตริงยาวลงในฟังก์ชันสตริงเดียว ExploItarray (รายการ) {var i = 0; var count = 0; var tempstring = สตริงใหม่ (รายการ); temparray = อาร์เรย์ใหม่ (1); ทำ {i = tempstring.indexof (":"); ถ้า (i> 0) tempstring = tempstring.substr (i+1, tempstring.length-i-1); i = tempstring.indexof (">"); ถ้า (i> 0) tempstring = tempstring.substr (i+1, tempstring.length-i-1); count ++;} i = tempstring.indexof ("<"); ถ้า (i> 0) {temparray [count] = tempstring.substr (0, i); tempstring = tempstring.substr (i-1, tempstring.length-i+1); count ++;}} ในขณะที่ (tempstring.indexof ("</x: xmpmeta>")> 0); temparray [นับ] = tempstring; กลับเทมปอร์เรย์; } var i = 0; var j = 0; var k = 0; var presulotion = 72; var ad = ""; var resratio = ""; var imageratio = ""; var datearray1 = ""; 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 = ""; // สตริงชั่วคราว var make = ""; // camera company var model = ""; // กล้องรุ่น var camera = ""; // camera var lens = ""; // look type var lensused = ""; // เลนส์ที่ใช้ var focallength = ""; // ความยาวโฟกัส var exposuretime = ""; // ชัตเตอร์ var fnumber = ""; // ค่ารูรับแสง var isospeedratings = ""; // iso การตั้งค่า var datetimeoriginal = ""; // เวลาถ่ายภาพ var exposureBiasValue = ""; // การชดเชยการเปิดรับแสง // โหมดแฟลช // เปลี่ยนเป็นสิ่งที่คุณต้องการเขียนเช่นลิขสิทธิ์และชื่อเว็บของคุณเอง ฯลฯ///ว่างเปล่าชื่อที่ตั้งโดยกล้องจะถูกใช้ var creator = "รูปภาพโดย kaisir"; // Aglin ได้รวบรวมรหัสเพื่อเปลี่ยนขนาดภาพเป็นขนาดการสื่อสารออนไลน์โดยอัตโนมัติ // การดัดแปลงเล็กน้อยหากทั้งสองด้านกว้างและแคบกว่า 1,000 มันจะถูกตัดโดยอัตโนมัติ // ด้านที่ยาวที่สุดที่นี่คือ 750 และด้านที่สั้นที่สุดคือ 500 // โปรดตั้งค่าอัตราส่วนตามสัดส่วนของภาพที่ถ่ายโดยกล้องของคุณ // หากคุณไม่ได้ใช้ - Ad.width.Value/ad.height.value; ถ้า (imageratio> 1) ad.resizeimage (resizemax, resizemin, การกำหนดเวลา, resamplemethod.bicubicsharper); if (imageRatio == 1) ad.resizeimage (resizemax, resizemax, presulotion, resamplemethod.bicubicsharper); if (imageRatio <1) ad.resizeimage (resizemin, resizemax, การเตรียมการ, resamplemethod.bicubicsharper); if (imageRatio <1) ad.resizeimage (resizemin, resizemax, การเตรียมการ, resamplemethod.bicubicsharper); - - CS ได้รับข้อมูล exif // ความเร็วชัตเตอร์สำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (stringtemp.indexof ("exposuretime")! =-1) {exposuretime = temparray [n+1]; break;}} // ขนาดรูรับแสงสำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (stringtemp.indexof ("fnumber")! =-1) {fnumber = temparray [n+1]; {StringTemp = TempArray [n]; if (StringTemp.indexof ("Exposureprogram")! =-1) {exposureprogram = temparray [n+1]; break;}} // การชดเชยการเปิดรับแสงสำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (stringtemp.indexof ("การเปิดรับแสง")! =-1) break;}} // โหมดแฟลชสำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (stringtemp.indexof ("fired")! =-1) {fired = temparray [n+1]; break;}} // วันที่และเวลาถ่ายภาพสำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (stringtemp.indexof ("datetimeoriginal")! =-1) {datetimeoriginal = temparray [n+1]; break;}} // ใช้ความยาวโฟกัสสำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (temparray [n] == "focallength") {focallength = temparray [n+1]; break;}} StringTemp = TempArray [n]; ถ้า (StringTemp.indexof ("isospeedratings")! =-1) {isospeedRatings = ", iso"+temparray [n+5]; break;}} // ใช้ประเภทเลนส์สำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (temparray [n] == "เลนส์") {เลนส์ = temparray [n+1]; break;}} // ผู้ผลิตกล้องสำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (stringtemp.indexof ("make")! =-1) {make = temparray [n+1]; break;}} // รุ่นกล้องสำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (stringtemp.indexof ("โมเดล")! =-1) {var model = temparray [n+1]; break;}} // สำหรับกล้องบางรุ่นไม่รวมส่วนของผู้ผลิต // camera = make+model; // สำหรับกล้องบางรุ่นรวมถึงกล้องส่วนของผู้ผลิต = รุ่น; // เจ้าของกล้องสำหรับ (n = 0; n <temparray.length; n ++) {stringtemp = temparray [n]; ถ้า (stringtemp.indexof ("ผู้สร้าง")! =-1 && ผู้สร้าง == "") {creator = temparray [n+5]; break;}} // ตรวจสอบความเร็วชัตเตอร์ ditearray1 = exposuretime.split ("/"); j = ditearray1 [0]; i = Datearray1 [1]; ถ้า (j/i> = 1) exposuretime = parseint (j/i)+"."+(j-parseint (j/i)*i); else {i = parseint (i/j); j = 1; exposuretime = J+"/"+i; DiteArray1 [0]; j = datearray1 [1]; ถ้า (j> 1) fnumber = i/j; elsefnumber = i; // แปลงการชดเชยการเปิดรับแสงเป็นทศนิยม datearray1 = การเปิดรับแสง จุดเพียงแค่ *100/100 เก็บ 1 หลักเพียงแค่ *10/10 // รักษา 2 หลักที่นี่ 20D สามารถไม่มีสองบรรทัดนี้ถ้า (การเปิดรับแสงค่า! = 0) การเปิดรับแสง = parseInt (การสัมผัส exposureBiasValue *100)/100; ExposureProgramarray = ["ไม่ได้กำหนด", "คู่มือ", "โปรแกรมปกติ", "Aperture Priority", "Shutter Priority", "โปรแกรมสร้างสรรค์", "โปรแกรมการกระทำ", "โหมดภาพบุคคล", "โหมดภูมิทัศน์" Fired; if (datearray1.indexof ("true")! =-1) fired = "flashon"; elsefired = "flashoff"; // ตรวจสอบความยาวโฟกัส datearray1 = focallength.split ("/"); i = datearray1 [0]; j = datearray1 [1]; dateTimeoriginal.split ("t"); phodate = datearray1 [0]; photime = ditearray1 [1]; datearray2 = phodate.split ("-"); monthesArray = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]; Phodate = DateArray2 [0]+"-"+MonthSArray [DateArray2 [1] -1]+"-"+DateArray2 [2]; DateArray2 = photime.split ("+"); photime = datearray2 [0]; // ถ้าคุณมีเลนส์ใด ๆ {if (lens.indexof ("17.0-40.0 mm")! =-1) lensused = "Canon 17-40mm f4l usm"; } // หากไม่มีข้อมูลเลนส์ให้ใช้วิธีดั้งเดิมเพื่อเปรียบเทียบอื่น {var foclength = parseint (focallength); lensused = "18-55mm 1: 3.5-5.6g"; // ถ้า (foclength> = 17 && foclength <= 40) // lensused = "nikon"; // ถ้า (foclength> = 70 && foclength <= 200) // lensused = "nikon"; // ถ้า (foclength == "85") // lensused = "nikon"; // ถ้า (foclength == "100") // lensused = "nikon"; } // วาดเส้นและกล่อง // กำหนดสีดำคุณยังสามารถกำหนดสีอื่น ๆ สีดำ = new SolidColor (); black.rgb.red = black.rgb.green = black.rgb.blue = 0; // กำหนดสีขาวคุณยังสามารถกำหนดสีอื่น ๆ สีขาว = new SolidColor (); White.rgb.red = White.rgb.green = White.rgb.blue = 255; // กำหนดสีเทาคุณยังสามารถกำหนดสีอื่น ๆ สีเทา = new SolidColor (); grey.rgb.red = grey.rgb.green = grey.rgb.blue = 50; // เพิ่มพื้นหลังเส้นสีขาว = สีขาว; // ถ้าเปลี่ยนเป็น Black Line // BackgroundColor = Black; // ความกว้างและแคบของเส้นสีขาวถูกตั้งค่าเป็น 2 หรือ 4 ทั้งสองด้านความกว้างที่แท้จริงจะถูกหารด้วย 2Ad.resizecanvas (ad.width.value+2, ad.height.value+2, anchorposition.middlecenter); // เพิ่มเฟรมสีเทา // backgroundColor = สีเทา; // เพิ่ม Black Frame BackgroundColor = Black; // ถ้าเปลี่ยนเป็นกรอบสีขาว // backgroundColor = สีขาว; // ความกว้างและความสูงของเส้นขอบที่นี่ตั้งค่าความกว้างและแคบของกรอบสีดำถึง 1/40 ของความกว้างของภาพและทั้งสองด้านความกว้างที่แท้จริงแบ่งออกเป็น 2fwidth = parseint (photowidth/40); fhight = parseint (photowidth/40); Ad.resizecanvas (ad.width.value+fwidth, ad.height.value+fhight, anchorposition.middlecenter); // เพิ่มจุดกว้างที่ด้านล่างเพื่ออำนวยความสะดวกในการเขียน ad.resizecanvas (ad.width.value, ad.height.value+fhight+fhight, anchorposition.topcenter); // มาตรฐานและพารามิเตอร์ namelayer = ad.artlayers.add (); namelayer.kind = layerkind.text; tn = namelayer.TextItem; tn.Contents = ผู้สร้าง; // ตัวอักษรลิขสิทธิ์, ขนาดตัวอักษร, สีและตัวหนา ฯลฯ tn.font = "stxingkai"; // จัดตำแหน่ง tn.justification = rightification.right; // ขนาดตัวอักษร tsize = parseint ((fwidth+10)/2); // ตัวอักษรซ้ายและขอบด้านล่าง tleft = photowidth; thight = photohight-fhight+tsize; // ตำแหน่งของเครื่องหมาย tn.position tn.Color = สีขาว; // ถ้าเป็นกรอบสีขาวตัวอักษรเป็นสีดำ //tn.color = สีดำ; tn.fauxbold = true; infolayer = ad.artlayers.add (); infolayer.kind = layerkind.text; ti = infolayer.TextItem; // จัดตำแหน่งขวาถ้ามันถูกจัดตำแหน่งให้อยู่ในแนวเดียวกันบรรทัดต่อไปนี้สามารถละเว้น ti.justification = การให้เหตุผลถูกต้อง; thight = photohight+fhight+tsize; // ตำแหน่งของเครื่องหมาย ti.position = [tleft, thight]; // แสดง: โมเดลกล้อง, เลนส์, ความยาวโฟกัส "+lensused+" @"+focallength+" mm, "+exposuretime+" sec, f/"; ti.contents = ti.contents+fnumber+", ev "+การเปิดรับแสง+isospeedratings; // ถ้าคุณไม่สนใจ "+fired; ti.contents = ti.contents+"/u000d "+phodate+" "+photime; // ตัวอักษรขนาดตัวอักษรสี ฯลฯ ti.font =" bold "; //ti.font = "Arial"; ti.size = tsize; ti.Color = สีขาว; // ถ้าเป็นกล่องสีขาวตัวอักษรเป็นสีดำ // ti.color = สีดำ; ti.fauxbold = true; ad.flatten (); -