@@ -41,25 +41,35 @@ private void openFile(string path)
41
41
{
42
42
try
43
43
{
44
- originalImage = new Bitmap ( path ) ;
45
- pictureBox . Image = originalImage ;
46
-
47
- width = pictureBox . Image . Size . Width ;
48
- height = pictureBox . Image . Size . Height ;
49
- sizeLabel . Text = "Size: " + width . ToString ( ) + " x " + height . ToString ( ) + " px" ;
50
- pathLabel . Text = "File: " + path ;
51
-
52
- this . Text = Path . GetFileName ( path ) + " - Quick Picture Viewer" ;
53
-
54
- zoomInButton . Enabled = true ;
55
- zoomOutButton . Enabled = true ;
44
+ openImage ( new Bitmap ( path ) , path , Path . GetFileName ( path ) ) ;
56
45
}
57
- catch ( Exception )
46
+ catch
58
47
{
59
48
MessageBox . Show ( "Unable to open this file" , "Error" , MessageBoxButtons . OK , MessageBoxIcon . Error ) ;
60
49
}
61
50
}
62
51
52
+ private void openImage ( Bitmap bitmap , string filePath , string fileName )
53
+ {
54
+ originalImage = bitmap ;
55
+ pictureBox . Image = originalImage ;
56
+
57
+ width = pictureBox . Image . Size . Width ;
58
+ height = pictureBox . Image . Size . Height ;
59
+ sizeLabel . Text = "Size: " + width . ToString ( ) + " x " + height . ToString ( ) + " px" ;
60
+ pathLabel . Text = "File: " + filePath ;
61
+
62
+ this . Text = fileName + " - Quick Picture Viewer" ;
63
+
64
+ zoomInButton . Enabled = true ;
65
+ zoomOutButton . Enabled = true ;
66
+ flipVerticalButton . Enabled = true ;
67
+ flipHorizontalButton . Enabled = true ;
68
+ rotateLeftButton . Enabled = true ;
69
+ rotateRightButton . Enabled = true ;
70
+ saveAsButton . Enabled = true ;
71
+ }
72
+
63
73
private void zoomInButton_Click ( object sender , EventArgs e )
64
74
{
65
75
zoomIn ( ) ;
@@ -129,14 +139,84 @@ private void autoZoomButton_Click(object sender, EventArgs e)
129
139
private void aboutButton_Click ( object sender , EventArgs e )
130
140
{
131
141
if ( MessageBox . Show (
132
- "Quick Picture Viewer\n v" + ProductVersion + "\n \n by Module Art\n Author: Jake Volynko\n \n Visit project web page?\n https://moduleart. github.io /quick-picture-viewer/" ,
142
+ "Quick Picture Viewer\n v" + ProductVersion + "\n \n by Module Art\n Author: Jake Volynko\n \n Visit project web page?\n https://github.com/ModuleArt /quick-picture-viewer/" ,
133
143
"About" ,
134
144
MessageBoxButtons . YesNo ,
135
145
MessageBoxIcon . Asterisk
136
146
) == DialogResult . Yes )
137
147
{
138
- System . Diagnostics . Process . Start ( "https://moduleart. github.io /quick-picture-viewer/" ) ;
148
+ System . Diagnostics . Process . Start ( "https://github.com/ModuleArt /quick-picture-viewer/" ) ;
139
149
}
140
150
}
151
+
152
+ private void flipVerticalButton_Click ( object sender , EventArgs e )
153
+ {
154
+ originalImage . RotateFlip ( RotateFlipType . RotateNoneFlipX ) ;
155
+ pictureBox . Image = originalImage ;
156
+ setAutoZoom ( true ) ;
157
+ }
158
+
159
+ private void flipHorizontalButton_Click ( object sender , EventArgs e )
160
+ {
161
+ originalImage . RotateFlip ( RotateFlipType . RotateNoneFlipY ) ;
162
+ pictureBox . Image = originalImage ;
163
+ setAutoZoom ( true ) ;
164
+ }
165
+
166
+ private void rotateLeftButton_Click ( object sender , EventArgs e )
167
+ {
168
+ originalImage . RotateFlip ( RotateFlipType . Rotate270FlipNone ) ;
169
+ pictureBox . Image = originalImage ;
170
+ setAutoZoom ( true ) ;
171
+ }
172
+
173
+ private void rotateRightButton_Click ( object sender , EventArgs e )
174
+ {
175
+ originalImage . RotateFlip ( RotateFlipType . Rotate90FlipNone ) ;
176
+ pictureBox . Image = originalImage ;
177
+ setAutoZoom ( true ) ;
178
+ }
179
+
180
+ private void saveAsButton_Click ( object sender , EventArgs e )
181
+ {
182
+ if ( saveFileDialog1 . ShowDialog ( ) == DialogResult . OK )
183
+ {
184
+ System . IO . FileStream fs = ( System . IO . FileStream ) saveFileDialog1 . OpenFile ( ) ;
185
+ switch ( saveFileDialog1 . FilterIndex )
186
+ {
187
+ case 1 :
188
+ originalImage . Save ( fs , System . Drawing . Imaging . ImageFormat . Png ) ;
189
+ break ;
190
+ case 2 :
191
+ originalImage . Save ( fs , System . Drawing . Imaging . ImageFormat . Jpeg ) ;
192
+ break ;
193
+ case 3 :
194
+ originalImage . Save ( fs , System . Drawing . Imaging . ImageFormat . Gif ) ;
195
+ break ;
196
+ case 4 :
197
+ originalImage . Save ( fs , System . Drawing . Imaging . ImageFormat . Bmp ) ;
198
+ break ;
199
+ }
200
+ fs . Close ( ) ;
201
+ }
202
+ }
203
+
204
+ private void copyButton_Click ( object sender , EventArgs e )
205
+ {
206
+ Clipboard . SetImage ( originalImage ) ;
207
+ }
208
+
209
+ private void pasteButton_Click ( object sender , EventArgs e )
210
+ {
211
+ if ( Clipboard . ContainsImage ( ) )
212
+ {
213
+ openImage ( new Bitmap ( Clipboard . GetImage ( ) ) , "From clipboard" , "From clipboard" ) ;
214
+ }
215
+ else if ( Clipboard . ContainsData ( DataFormats . FileDrop ) )
216
+ {
217
+ string path = ( ( string [ ] ) Clipboard . GetData ( DataFormats . FileDrop ) ) [ 0 ] ;
218
+ openFile ( path ) ;
219
+ }
220
+ }
141
221
}
142
222
}
0 commit comments