|
10 | 10 |
|
11 | 11 | namespace PenTabletNotebook { |
12 | 12 | public partial class MainWindow : Window, IHitObjectMoved { |
13 | | - public MainWindow() { |
14 | | - InitializeComponent(); |
15 | | - LocalizeUI(); |
16 | | - } |
17 | | - |
18 | 13 | private void LocalizeUI() { |
19 | 14 | mMenuItemFile.Header = Properties.Resources.File; |
20 | 15 | mMenuItemFileNew.Header = Properties.Resources.FileNew; |
@@ -157,6 +152,11 @@ private bool LoadSpecifiedFile(string path) { |
157 | 152 | foreach (var pt in ptList) { |
158 | 153 | mLBPageTags.Items.Add(pt); |
159 | 154 | } |
| 155 | + |
| 156 | + ScaleToFit(); |
| 157 | + |
| 158 | + // 現在表示ページ番号の同期等。 |
| 159 | + UpdateUI(); |
160 | 160 | } else { |
161 | 161 | // 読み出し失敗。 |
162 | 162 | MessageBox.Show("Error Opening File", "Error opening file", MessageBoxButton.OK, MessageBoxImage.Error); |
@@ -255,8 +255,41 @@ private void UndrawLines() { |
255 | 255 | mPLMgr.UndrawLines(); |
256 | 256 | } |
257 | 257 |
|
| 258 | + private void ScaleToFit() { |
| 259 | + double imageW = mImage.ActualWidth; |
| 260 | + if (imageW <= 0) { |
| 261 | + imageW = mImage.Width; |
| 262 | + } |
| 263 | + double imageH = mImage.ActualHeight; |
| 264 | + if (imageH <= 0) { |
| 265 | + imageH = mImage.Height; |
| 266 | + } |
| 267 | + |
| 268 | + double scaleX = mSVCanvas.ViewportWidth / imageW; |
| 269 | + double scaleY = mSVCanvas.ViewportHeight / imageH; |
| 270 | + if (scaleX < scaleY) { |
| 271 | + mSliderScaling.Value = scaleX; |
| 272 | + } else { |
| 273 | + mSliderScaling.Value = scaleY; |
| 274 | + } |
| 275 | + } |
| 276 | + |
| 277 | + private void ScaleToImage() { |
| 278 | + double imageW = mImage.ActualWidth; |
| 279 | + if (imageW <= 0) { |
| 280 | + imageW = mImage.Width; |
| 281 | + } |
| 282 | + double scaleX = mSVCanvas.ViewportWidth / imageW; |
| 283 | + mSliderScaling.Value = scaleX; |
| 284 | + } |
| 285 | + |
258 | 286 | // アプリ起動 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
259 | 287 |
|
| 288 | + public MainWindow() { |
| 289 | + InitializeComponent(); |
| 290 | + LocalizeUI(); |
| 291 | + } |
| 292 | + |
260 | 293 | private void Window_Loaded(object sender, RoutedEventArgs e) { |
261 | 294 | // デフォルトのペンの色は赤。ペンの太さ==3。 |
262 | 295 | mPLMgr = new PageListMgr(mInkCanvas, mCanvas, mImage, Colors.Red, 4.0); |
@@ -656,31 +689,11 @@ private void Window_MouseWheel(object sender, MouseWheelEventArgs e) { |
656 | 689 | } |
657 | 690 |
|
658 | 691 | private void ButtonScaleToFit_Click(object sender, RoutedEventArgs e) { |
659 | | - double imageW = mImage.ActualWidth; |
660 | | - if (imageW <= 0) { |
661 | | - imageW = mImage.Width; |
662 | | - } |
663 | | - double imageH = mImage.ActualHeight; |
664 | | - if (imageH <= 0) { |
665 | | - imageH = mImage.Height; |
666 | | - } |
667 | | - |
668 | | - double scaleX = mSVCanvas.ViewportWidth / imageW; |
669 | | - double scaleY = mSVCanvas.ViewportHeight / imageH; |
670 | | - if (scaleX < scaleY) { |
671 | | - mSliderScaling.Value = scaleX; |
672 | | - } else { |
673 | | - mSliderScaling.Value = scaleY; |
674 | | - } |
| 692 | + ScaleToFit(); |
675 | 693 | } |
676 | 694 |
|
677 | 695 | private void ButtonScaleToImageW_Click(object sender, RoutedEventArgs e) { |
678 | | - double imageW = mImage.ActualWidth; |
679 | | - if (imageW <= 0) { |
680 | | - imageW = mImage.Width; |
681 | | - } |
682 | | - double scaleX = mSVCanvas.ViewportWidth / imageW; |
683 | | - mSliderScaling.Value = scaleX; |
| 696 | + ScaleToImage(); |
684 | 697 | } |
685 | 698 |
|
686 | 699 | private void RBT1_Checked(object sender, RoutedEventArgs e) { |
|
0 commit comments