回答編集履歴

6

コードを修正しました。

2018/11/07 14:32

投稿

YOshim
YOshim

スコア1085

test CHANGED
@@ -74,8 +74,6 @@
74
74
 
75
75
  }
76
76
 
77
- updatePixels();
78
-
79
77
  }
80
78
 
81
79
  ```

5

ソースコードの不具合を修正

2018/11/07 14:32

投稿

YOshim
YOshim

スコア1085

test CHANGED
@@ -54,6 +54,8 @@
54
54
 
55
55
  for (int y=0; y<imgHeight; y++) {
56
56
 
57
+ color imgColor = img.get(x,y);
58
+
57
59
  //x,yが選択した範囲であれば透過させる。
58
60
 
59
61
  if(x>xstart && x<xstop && y>ystart && y<ystop){

4

透過させる範囲を指定できるようにソースコードを修正しました。

2018/11/05 23:56

投稿

YOshim
YOshim

スコア1085

test CHANGED
@@ -1,12 +1,24 @@
1
1
  古い投稿なのですでに解決済ですかね。
2
2
 
3
- pixelを
3
+ pixelのドットの色抽出して小さい図形orスポットとして描画すれば、実現可能です。
4
4
 
5
5
  ```
6
6
 
7
7
  PImage img;
8
8
 
9
9
  int imgWidth, imgHeight;
10
+
11
+
12
+
13
+ //透過させたい範囲
14
+
15
+ int xstart = 100;
16
+
17
+ int xstop = 200;
18
+
19
+ int ystart = 50;
20
+
21
+ int ystop = 100;
10
22
 
11
23
 
12
24
 
@@ -42,11 +54,19 @@
42
54
 
43
55
  for (int y=0; y<imgHeight; y++) {
44
56
 
45
- color imgColor = img.get(x, y);
57
+ //x,yが選択した範囲であれば透過させる。
46
58
 
47
- fill(imgColor, 100);//透過度を指定(とりあえず"100"にしてます)。
59
+ if(x>xstart && x<xstop && y>ystart && y<ystop){
48
60
 
61
+ fill(imgColor, 100);
62
+
63
+ }else{
64
+
65
+ fill(imgColor);
66
+
67
+ }
68
+
49
- ellipse(x, y, 1, 1);//rectでもよい。
69
+ ellipse(x, y, 1, 1);
50
70
 
51
71
  }
52
72
 

3

画像データを透過させるコードを作成しました。

2018/11/02 07:45

投稿

YOshim
YOshim

スコア1085

test CHANGED
@@ -1,3 +1,85 @@
1
1
  古い投稿なのですでに解決済ですかね。
2
2
 
3
+ pixelを
4
+
5
+ ```
6
+
7
+ PImage img;
8
+
9
+ int imgWidth, imgHeight;
10
+
11
+
12
+
13
+ void setup() {
14
+
15
+ size(480, 320);
16
+
17
+ img = loadImage("dataName");
18
+
19
+ imgWidth = img.width;
20
+
21
+ imgHeight = img.height;
22
+
23
+ noStroke();
24
+
25
+ smooth();
26
+
27
+ background(255);
28
+
29
+ frameRate(60);
30
+
31
+ }
32
+
33
+
34
+
35
+ void draw() {
36
+
37
+ background(255);
38
+
39
+ img.loadPixels();
40
+
41
+ for (int x =0; x<imgWidth; x++) {
42
+
43
+ for (int y=0; y<imgHeight; y++) {
44
+
45
+ color imgColor = img.get(x, y);
46
+
47
+ fill(imgColor, 100);//透過度を指定(とりあえず"100"にしてます)。
48
+
49
+ ellipse(x, y, 1, 1);//rectでもよい。
50
+
51
+ }
52
+
53
+ }
54
+
55
+ updatePixels();
56
+
57
+ }
58
+
59
+ ```
60
+
61
+ 上記の
62
+
63
+ ```
64
+
65
+ fill(imgColor, 100);
66
+
67
+ ellipse(x, y, 1, 1);
68
+
69
+ ```
70
+
71
+
72
+
73
+ ```
74
+
75
+ stroke(imgColor, 100);//透過度
76
+
77
+ strokeWeight(1);//pointのドットのサイズ。1未満も設定可能です。
78
+
79
+ point(x, y);
80
+
81
+ ```
82
+
83
+ としてもよいです。
84
+
3
- データのフォーマットと、透過設定できなかっ際のコードを知りたいです
85
+ *一応jpgデータを用いて、透過度が設定できる事が確認しました。

2

見当違いなソースを書いていたようなので質問事項だけにしました。

2018/11/02 07:02

投稿

YOshim
YOshim

スコア1085

test CHANGED
@@ -1,43 +1,3 @@
1
1
  古い投稿なのですでに解決済ですかね。
2
2
 
3
-
4
-
5
- ```
6
-
7
- void setup(){
8
-
9
-    ・
10
-
11
-    ・
12
-
13
- imgData = loadImage("dataName");
14
-
15
-    ・
16
-
17
-    ・
18
-
19
- }
20
-
21
-
22
-
23
- void draw(){
24
-
25
-    ・
26
-
27
-    ・
28
-
29
- imgData.loadPixels();
30
-
31
- fill(alpha(100);
32
-
33
-    ・
34
-
35
-    ・
36
-
37
- }
38
-
39
- ```
40
-
41
- で実施できるはず。
42
-
43
3
  データのフォーマットと、透過設定ができなかった際のコードを知りたいです。

1

alpha値の記述ミスを修正しました。

2018/11/02 06:38

投稿

YOshim
YOshim

スコア1085

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  imgData.loadPixels();
30
30
 
31
- fill(alpha(imgData);
31
+ fill(alpha(100);
32
32
 
33
33
     ・
34
34