mirror of
https://github.com/kwsch/NHSE.git
synced 2026-04-25 07:37:02 -05:00
Minor clean
Add click to map preview to load that acre Move map+viewport-reticle bitmap creation to drawing project export map without reticle as scale=1
This commit is contained in:
parent
e098f85afc
commit
b6e19f079d
|
|
@ -53,5 +53,25 @@ public static Bitmap CreateMap(TerrainManager mgr)
|
|||
|
||||
return bmp;
|
||||
}
|
||||
|
||||
public static Image CreateMap(TerrainManager mgr, int scale, int acreIndex = -1)
|
||||
{
|
||||
var img = CreateMap(mgr);
|
||||
var map = ImageUtil.ResizeImage(img, img.Width * scale, img.Height * scale);
|
||||
|
||||
if (acreIndex < 0)
|
||||
return img;
|
||||
|
||||
using var gfx = Graphics.FromImage(map);
|
||||
using var pen = new Pen(Color.Red);
|
||||
|
||||
var acre = mgr.Acres[acreIndex];
|
||||
var x = acre.X * TerrainManager.GridWidth * scale;
|
||||
var y = acre.Y * TerrainManager.GridHeight * scale;
|
||||
int w = TerrainManager.GridWidth * scale;
|
||||
int h = TerrainManager.GridHeight * scale;
|
||||
gfx.DrawRectangle(pen, x, y, w, h);
|
||||
return map;
|
||||
}
|
||||
}
|
||||
}
|
||||
1
NHSE.WinForms/Subforms/TerrainEditor.Designer.cs
generated
1
NHSE.WinForms/Subforms/TerrainEditor.Designer.cs
generated
|
|
@ -254,6 +254,7 @@ private void InitializeComponent()
|
|||
this.PB_Map.Size = new System.Drawing.Size(226, 194);
|
||||
this.PB_Map.TabIndex = 23;
|
||||
this.PB_Map.TabStop = false;
|
||||
this.PB_Map.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PB_Map_MouseDown);
|
||||
//
|
||||
// CM_Picture
|
||||
//
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ public TerrainEditor(MainSave sav)
|
|||
|
||||
private int AcreIndex => CB_Acre.SelectedIndex;
|
||||
private void ChangeAcre(object sender, EventArgs e) => LoadGrid(AcreIndex);
|
||||
private void ReloadMap() => PB_Map.Image = TerrainSprite.CreateMap(Terrain, 2, AcreIndex);
|
||||
|
||||
private void LoadGrid(int index)
|
||||
{
|
||||
|
|
@ -47,20 +48,6 @@ private void LoadGrid(int index)
|
|||
ReloadMap();
|
||||
}
|
||||
|
||||
private void ReloadMap()
|
||||
{
|
||||
var img = TerrainSprite.CreateMap(Terrain);
|
||||
var map = ImageUtil.ResizeImage(img, img.Width * 2, img.Height * 2);
|
||||
|
||||
using var gfx = Graphics.FromImage(map);
|
||||
using var pen = new Pen(Color.Red);
|
||||
|
||||
var acre = Terrain.Acres[AcreIndex];
|
||||
gfx.DrawRectangle(pen, acre.X * TerrainManager.GridWidth * 2, acre.Y * TerrainManager.GridHeight * 2, TerrainManager.GridWidth * 2, TerrainManager.GridHeight * 2);
|
||||
|
||||
PB_Map.Image = map;
|
||||
}
|
||||
|
||||
private void UpdateArrowVisibility(int index)
|
||||
{
|
||||
B_Up.Enabled = index > TerrainManager.AcreWidth;
|
||||
|
|
@ -294,7 +281,7 @@ private void Menu_SavePNG_Click(object sender, EventArgs e)
|
|||
}
|
||||
|
||||
const string name = "map";
|
||||
var bmp = pb.Image;
|
||||
var bmp = TerrainSprite.CreateMap(Terrain);
|
||||
using var sfd = new SaveFileDialog
|
||||
{
|
||||
Filter = "png file (*.png)|*.png|All files (*.*)|*.*",
|
||||
|
|
@ -305,5 +292,17 @@ private void Menu_SavePNG_Click(object sender, EventArgs e)
|
|||
|
||||
bmp.Save(sfd.FileName, ImageFormat.Png);
|
||||
}
|
||||
|
||||
private void PB_Map_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
var x = e.X / (2 * TerrainManager.GridWidth);
|
||||
var y = e.Y / (2 * TerrainManager.GridHeight);
|
||||
|
||||
var index = (y * TerrainManager.AcreWidth) + x;
|
||||
var clamp = Math.Max(0, Math.Min((TerrainManager.AcreHeight * TerrainManager.AcreWidth) - 1, index));
|
||||
|
||||
if (AcreIndex != clamp)
|
||||
CB_Acre.SelectedIndex = clamp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user