первый я сделал приложение рабочего стола AIR с перетаскивания функций Просмотр фрагментов изображения, но из-за некоторых проблем, я имею попытался сделать то же самое в C#. как вы думаете, лучший выбор? (Я знаю, для этой маленькой производительности програмного не вопрос, но я имею в виду dufficulty и сложность обоих)
я строил простой TileViewer, поэтому изображение выбрано в OpenFileDialog и установить в качестве черепичной BackgroundImage формы.
Моя проблема:
Я использую таймер (интервал = 500), чтобы перезагрузить изображение, так что если я изменить изображение в фотошопе, то TileViewer будет автоматически перезагружать обновленное изображение (как я сохраняю его в фотошопе).
НО проблема в том, что фотошоп оленья кожа имеет premissions сделать это, Потому что образ открыт в другой программе (мой TileViewer)
Я снял таймер и сделал кнопку обновления вместо этого. но та же проблема.
Я думал сделать копию растровых данных, но затем я получаю сообщение об ошибке, что я не имею для чего прийти память 32px 32px х IMG.
Мой код:
private string FileName;
public Form1() {
InitializeComponent();
FileName = "";
}
// OPEN FILE btn
private void button1_Click(object sender, EventArgs e) {
openFileDialog1.Filter = "PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg";
if(openFileDialog1.ShowDialog() == DialogResult.OK) {
button2.Enabled = true;
FileName = openFileDialog1.FileName;
setImage();
}
}
// REFRESH btn
private void button2_Click(object sender, EventArgs e) {
if(FileName != "") {
setImage();
}
}
private void setImage() {
Bitmap tempImg = new Bitmap(FileName);
Rectangle rect = new Rectangle(0, 0, 100, 100);
PixelFormat format = tempImg.PixelFormat;
this.BackgroundImage = new Bitmap(FileName).Clone(rect, format);
}
Так, ребята, если у вас есть какие-либо предложения или решения, дайте мне знать.
Это не отвечает на ваш вопрос, но вместо таймера вы можете посмотреть [FileSystemWatcher] (http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher. aspx). –
Да, я также подумал об использовании этого, но прежде всего хочу исправить проблему препровождения ^^ – Ace