質問編集履歴

1

文章を修正

2022/07/30 09:14

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 提示コードですが以下のif文の中でX,yどちらかの値が変わったらそれに合わせてアスペクト比を維持たままもう片方の値を変えたいのですが以下のように実装したいのですがうまく実装できません、これはどうやるのでしょうか?
1
+ 提示コードですが以下のif文の中でX,yどちらかの値が変わったらそれに合わせてアスペクト比を維持たままもう片方の値を変えたいのですが以下のように実装したいのですがうまく実装できません、これはどうやるのでしょうか?アスペクト比をを算出するプログラムは作成したのですがこれを用いてどうやって実装するのでしょうか?
2
2
 
3
3
 
4
4
  ```cs
@@ -47,3 +47,50 @@
47
47
 
48
48
 
49
49
  ```
50
+
51
+ ##### アスペクト比を算出するプログラム
52
+ ```cs
53
+ public class Program
54
+ {
55
+ public static int gcd(int x,int y)
56
+ {
57
+ if (y == 0)
58
+ {
59
+ return x;
60
+ }
61
+
62
+ return gcd(y, x % y);
63
+ }
64
+
65
+ public static void Main()
66
+ {
67
+ ImageMagick.MagickImage img = new ImageMagick.MagickImage("input.HEIC");
68
+
69
+ /*
70
+ Console.WriteLine(img.Width);
71
+ Console.WriteLine(img.Height);
72
+ Console.WriteLine(img.Density.X);
73
+ Console.WriteLine(img.Density.Y);
74
+ */
75
+
76
+ int r = gcd(img.Width, img.Height);
77
+ Console.WriteLine(r);
78
+
79
+
80
+ Console.WriteLine(img.Height / r);
81
+ Console.WriteLine(img.Width / r);
82
+
83
+ // Console.WriteLine(img.Height / img.Width);
84
+ // Console.WriteLine(img.Width / img.Height);
85
+
86
+
87
+
88
+
89
+ Console.ReadKey();
90
+ }
91
+
92
+ }
93
+
94
+ ```
95
+
96
+