ช่องรูปภาพ

ช่องรูปภาพจะจัดเก็บสตริงเป็นค่าและสตริงเป็นข้อความ ค่าขององค์ประกอบนี้คือ src ของรูปภาพ ส่วนข้อความคือสตริง alt ที่อธิบาย/แสดงรูปภาพ

ฟิลด์รูปภาพ

บล็อกที่มีป้ายกํากับ "image:" และรูปดาวสีเหลือง

ช่องรูปภาพในบล็อกแบบยุบ

บล็อกเดียวกันหลังจากยุบ โดยมีป้ายกำกับ "variable: *" โดยที่ "*" คือข้อความแสดงแทนของรูปภาพ และขอบด้านขวาที่ขรุขระเพื่อแสดงว่าถูกยุบ

การสร้างวิดีโอ

JSON

{
  "type": "example_image",
  "message0": "image: %1",
  "args0": [
    {
      "type": "field_image",
      "src": "https://www.gstatic.com/codesite/ph/images/star_on.gif",
      "width": 15,
      "height": 15,
      "alt": "*"
    }
  ]
}

JavaScript

Blockly.Blocks['example_image'] = {
  init: function() {
    this.appendDummyInput()
      .appendField("image:")
      .appendField(new Blockly.FieldImage(
        "https://www.gstatic.com/codesite/ph/images/star_on.gif",
        15,
        15,
        "*"));
  }
};

ตัวสร้างรูปภาพจะรับข้อมูลต่อไปนี้

พารามิเตอร์ คำอธิบาย
src สตริงที่ชี้ไปยังไฟล์รูปภาพแรสเตอร์
width ต้องแคสต์เป็นตัวเลขที่ไม่ใช่ 0
height ต้องแคสต์เป็นตัวเลขที่ไม่ใช่ 0
opt_alt (ไม่บังคับ) สตริงที่อธิบาย/แสดงภาพได้อย่างถูกต้อง ข้อความนี้ใช้แทนรูปภาพเมื่อมีการยุบบล็อก หากเป็น null หรือ undefined ระบบจะใช้สตริงว่าง
opt_onClick (ไม่บังคับ) ฟังก์ชันที่จะเรียกใช้เมื่อมีการคลิกช่อง
opt_flipRtl (ไม่บังคับ) บูลีน หากเป็น true ระบบจะพลิกรูปภาพตามแกนแนวตั้งเมื่ออยู่ในโหมดจากขวาไปซ้าย ค่าเริ่มต้นคือ false มีประโยชน์สําหรับไอคอน "เลี้ยวซ้าย" และ "เลี้ยวขวา"

การเรียงอันดับ

ฟิลด์รูปภาพไม่สามารถจัดเก็บเป็นอนุกรมได้

แฮนเดิลการคลิก

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

คุณสามารถตั้งค่าตัวแฮนเดิลการคลิกในคอนสตรัคเตอร์ JavaScript หรือใช้ฟังก์ชัน setOnClickHandler

ต่อไปนี้คือตัวอย่างตัวแฮนเดิลการคลิกที่จะยุบบล็อกเมื่อเรียกใช้

function() {
    this.getSourceBlock().setCollapsed(true);
}

GIF แบบเคลื่อนไหวที่แสดงการคลิกรูปภาพ การยุบบล็อก การคลิกขวาเพื่อแสดงเมนูตามบริบท การเลือก "ขยายบล็อก" และการขยายบล็อก