Download Jar. Uses 994K of libraries. Click here for Pure Java version (7037L/36K).
1 | !7 |
2 | |
3 | p { pMain(Gauge); } |
4 | |
5 | sclass Gauge extends PApplet { |
6 | |
7 | /* ************* L3Dnam - may2015 ****************** |
8 | This sketch demonstrate how to use PNG images from a gauge and an arrow, to make a fully functional |
9 | "real like" Gauge responding for the Mouse-X movement, showing angles for a Servo position (0º to 180º) |
10 | for example! Need 2 PNG images on Data subFolder inside the Sketch folder. |
11 | Marshall B&P gauge.png and marshall B&P ponteiro.png. --> Both images must have no Background. |
12 | Create your own png images from real gauges or Other Objetcs and Enjoy. |
13 | */ |
14 | |
15 | PImage mostrador, ponteiro; //both images on DATA subfolder |
16 | PFont fontA; |
17 | int Tx, Ty, P0, P180; // Tx/Ty position text indicator P0/P180 start & End point of Arrow |
18 | int Wsize1 = 300; //Wsize1 & Wsize2 = tamanho janela |
19 | int Wsize2 = 300; |
20 | int gauge; // Gauge1 and Gauge2 are 2 example gauges, choose one of them on line 20 |
21 | float value, maxValue = 180, precision = 0.1f; |
22 | |
23 | void mouseMoved() { |
24 | float oldValue = value, newValue = map(mouseX, 0, width, 0, maxValue); |
25 | value = newValue; |
26 | if (floorRatio(oldValue, precision) != floorRatio(newValue, precision)) |
27 | redraw(); |
28 | } |
29 | |
30 | void settings() { |
31 | size (Wsize1,Wsize2 /*,OPENGL XXX*/); |
32 | } |
33 | |
34 | void setup() { |
35 | /******************************************************************/ |
36 | gauge = 1; // Gauge Type 1, choose 2 for another Gauge |
37 | /******************************************************************/ |
38 | switch (gauge) { |
39 | case 1: |
40 | mostrador = loadImage(loadImageAsFilePath(#1101160)/*"Gauge B&P Marshall 180.png"*/); |
41 | ponteiro = loadImage(loadImageAsFilePath(#1101161)/*"marshall B&P ponteiro.png"*/); //loadImage("Ponteiro_Vermelho.png"); |
42 | Tx=-20 ; Ty=58; P0=0 ; P180=272 ; |
43 | break; |
44 | case 2: |
45 | mostrador = loadImage("gauge.png"); |
46 | ponteiro = loadImage(loadImageAsFilePath(#1101162)/*"Ponteiro_Vermelho.png"*/); //loadImage("Ponteiro_Vermelho.png"); |
47 | Tx=-17 ; Ty=74; P0=-226 ; P180=46 ; |
48 | break; |
49 | } |
50 | imageMode(CENTER); |
51 | fontA = createFont(libraryPath(#1014271/*"dutcheb.ttf"*/), 20); //numeric indication of the Angle |
52 | textFont(fontA); |
53 | |
54 | noLoop(); |
55 | } |
56 | |
57 | |
58 | void draw() { |
59 | background(177); |
60 | stroke(153); |
61 | translate(Wsize1/2, Wsize2/2); // posiciona o mostrador no centro da tela |
62 | image(mostrador, 0 , 0 , Wsize1*0.9f, Wsize2*0.9f); // imagem, coluna, linha, Widt, Height |
63 | float rodar = map(value, 0,maxValue,P0,P180); //mouseX movement 0 & 360 grauss for Arrow |
64 | float angulo = map(value, 0,maxValue,0,181); //Numeric mouseX movement 0 & 360 grauss |
65 | fill(255,255,255); // Text Color = Blank |
66 | text((int) angulo, Tx,Ty); // Position of Text with Numeric Angle |
67 | rotate(radians((int) rodar)); // Rotate the Arrow as "rodar" value |
68 | switch(gauge) { |
69 | case 1: |
70 | image(ponteiro, -22.9f, 23.1f, Wsize1*0.33f, Wsize2*0.33f); // imagem, coluna, linha, Widt, Height |
71 | break; |
72 | case 2: |
73 | image(ponteiro, 21.5f, 0.2f, Wsize1*0.43f, Wsize2*0.06f); // imagem, coluna, linha, Widt, Height |
74 | break; |
75 | } |
76 | } |
77 | |
78 | } |
Began life as a copy of #1014268
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
ID | Author/Program | Comment | Date |
---|---|---|---|
1369 | stefan | see PGauge | 2018-04-19 17:37:42 |
Snippet ID: | #1014272 |
Snippet name: | Optimized "Marshall Servo Position" Gauge with background image v2 (paint only on change, OK) |
Eternal ID of this version: | #1014272/6 |
Text MD5: | def57b74813770ee35bcbd6b08859cc7 |
Transpilation MD5: | 9d9481047200ad2c50983c7d1073af34 |
Author: | stefan |
Category: | javax |
Type: | JavaX source code (desktop) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2018-04-19 17:35:52 |
Source code size: | 3119 bytes / 78 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 695 / 1479 |
Version history: | 5 change(s) |
Referenced in: | [show references] |