14.analog_meter_1

มิเตอร์แบบเข็ม

ตัวอย่างการสร้างมิเตอร์แบบเข็ม เมื่อโปรแกรมทำงานเข็มมิเตอร์จะเปลี่ยนไปตามค่าที่สุ่มขึ้นมาได้

โปรแกรม

PImage img;

void setup() {

size(450,400);

img = loadImage("voltmeter_3.jpg");

}

void draw() {

background(255);

float v = random(0, 60);

draw_meter(20,50,v);

}

// x,y = Upper left corner.

// v = 0 to 60

void draw_meter(int x,int y,float v)

{

image(img, x, y);

float angle = PI*(60-v)/60;

float length = 140;

float px = width/2 + cos(angle)*length;

float py = height/2 + sin(angle)*length;

strokeWeight(2);

stroke(255, 0, 0);

line(200+x, 198+y, 200+x+cos(angle)*length, 198+y-sin(angle)*length);

fill(255,0,0);

ellipse(200+x, 198+y, 10, 10);

}

ทังนี้ภาพของมิเตอร์ต้องเก็บอยู่ในโฟลดเดอร์ DATA ซึ่งอยู่ในโฟลดเดอร์โปรเจคอีกที

ไฟล์ meter.zip เมื่อ unzip จะมีโฟลดเดอร์โปรแกรมนี้ทั้งหมดโปรแกรมแล