Template

ใช้ภาพที่บันทึกไว้เป็นเป้าหมายการจดจำ คุณย่อขยายหรือตัดภาพเป็น Template แยกต่างหาก แล้วบันทึกผลด้วย save_as() ได้

รูปแบบคำสั่ง

Template(name, /)

พารามิเตอร์สำหรับสร้างออบเจ็กต์

ชื่อคำอธิบาย
nameString
ภาพแม่แบบที่บันทึกในมาโครปัจจุบัน เช่น "buttons/top/attack" ชื่อว่าง ไม่พบ หรือระบุได้หลายภาพจะทำให้เกิดข้อผิดพลาด; คำสั่งนี้ไม่จับภาพใหม่
จำเป็น · ระบุตามตำแหน่งเท่านั้น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

ตัวอย่าง

base = Template("enemy_head")
variant = base.scale(0.9).crop(Region(0, 0, 64, 64)).save_as("enemy_head_small")

ฟิลด์

ชื่อคำอธิบาย
nameString?
ชื่อภาพแม่แบบหรือเส้นทางโฟลเดอร์แบบสัมพัทธ์ในมาโครปัจจุบัน; เป็น None สำหรับภาพที่ยังไม่มีชื่อ
ตัวอย่างการสร้างออบเจ็กต์
base = Template("enemy_head")

เมธอด

6 เมธอด

Template.exists

ตรวจสอบว่ามีชื่อเทมเพลตอยู่ในมาโครปัจจุบันหรือไม่

รูปแบบคำสั่ง

Template.exists(name)

พารามิเตอร์

ชื่อคำอธิบาย
nameString
Template name or relative folder path to check.
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Boolean — เป็นจริงหากมีเทมเพลตอยู่

ตัวอย่าง

if Template.exists("enemy_head"):
    text("ready")

Template.similarity

เปรียบเทียบรูปแบบส่วนสว่างและมืดโดยรวมของสองภาพ หากอ่านภาพไม่ได้หรือขนาดภาพต่างกันจะเกิดข้อผิดพลาด ไม่ใช้ค่าความโปร่งใสและอาจไม่ตรวจพบการเปลี่ยนสี ความสว่าง หรือรายละเอียดเล็กน้อย; 100 ไม่ได้แปลว่าทุกพิกเซลเหมือนกัน

รูปแบบคำสั่ง

template.similarity(other)

พารามิเตอร์

ชื่อคำอธิบาย
otherTemplate
ต้องระบุเทมเพลตที่มีความกว้างและความสูงของภาพเท่ากัน
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Number — ความคล้ายตั้งแต่ 0 ถึง 100 เพิ่มทีละ 1.5625; ค่าสูงหมายถึงรูปแบบส่วนสว่างและมืดคล้ายกันมากขึ้น

ตัวอย่าง

# เปรียบเทียบเทมเพลตที่บันทึกไว้สองภาพที่มีขนาดเท่ากัน
before = Template("before")
after = Template("after")
score = before.similarity(after)
print(score)

Template.exists

ตรวจว่าไฟล์ภาพของ Template นี้ยังอยู่หรือไม่ โดยไม่ได้ตรวจว่าภาพอ่านได้หรือไม่

รูปแบบคำสั่ง

template.exists()

ค่าที่ส่งกลับ

Boolean — เป็นจริงหากมีไฟล์เทมเพลตสำรองอยู่

ตัวอย่าง

t = Template("enemy_head")
if t.exists():
    text("ok")

Template.scale

เปลี่ยนขนาดภาพแล้วคืน Template แยกต่างหากโดยไม่แก้ภาพต้นฉบับ ใช้ save_as() เพื่อบันทึกด้วยชื่อที่ต้องการ

รูปแบบคำสั่ง

template.scale(scale, scale_y=None)

พารามิเตอร์

ชื่อคำอธิบาย
scaleNumber
ตัวคูณความกว้าง: 1 คงเดิม, 0.5 ลดครึ่งหนึ่ง, 2 เพิ่มสองเท่า ค่าต่ำกว่า 0.01 จะใช้ 0.01 และใช้กับความสูงด้วยหากไม่ระบุ scale_y
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น
scale_yNumber
ตัวคูณความสูง ขั้นต่ำ 0.01 ไม่ต้องระบุหากต้องการรักษาสัดส่วนเดิม
ไม่บังคับ · ระบุตามตำแหน่งหรือชื่อ
ค่าเริ่มต้น: scale

ค่าที่ส่งกลับ

Template — วัตถุเทมเพลตที่ปรับขนาด

ตัวอย่าง

t = Template("enemy_head")
small = t.scale(0.8)
hit = Region(0, 0, 1080, 2400).find(small, 3000)

Template.crop

ตัดบางส่วนของภาพแล้วคืน Template แยกต่างหากโดยไม่แก้ภาพต้นฉบับ ใช้ save_as() เพื่อบันทึกด้วยชื่อที่ต้องการ

รูปแบบคำสั่ง

template.crop(region)

พารามิเตอร์

ชื่อคำอธิบาย
regionRegion
สี่เหลี่ยมตัดภาพในหน่วยพิกเซลของภาพ วัดจากมุมซ้ายบนของภาพ ไม่ใช่หน้าจอ ตัดส่วนทศนิยมของพิกัดและจำกัดให้อยู่ในขอบภาพ
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Template — ครอบตัดวัตถุเทมเพลต

ตัวอย่าง

t = Template("enemy_head")
face = t.crop(Region(10, 10, 60, 60))

Template.save_as

บันทึกภาพในมาโครปัจจุบันแล้วคืน Template ที่บันทึก มาโครที่มีการป้องกันไม่สามารถบันทึกภาพแม่แบบได้; หากไม่มีไฟล์ต้นฉบับจะเกิดข้อผิดพลาด

รูปแบบคำสั่ง

template.save_as(name)

พารามิเตอร์

ชื่อคำอธิบาย
nameString
ชื่อที่ไม่ว่างหรือเส้นทางโฟลเดอร์แบบสัมพัทธ์ เช่น "buttons/top/attack" ภาพเดิมที่เส้นทางนั้นจะถูกแทนที่
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Template — บันทึกวัตถุเทมเพลตที่มีชื่อแล้ว

ตัวอย่าง

captured = Region(200, 300, 120, 90).capture()
saved = captured.save_as("buttons/top/enemy_slot")
if saved.exists():
    text("saved")