Нет, такой команды не существует, но она также не очень полезна.
Любое действие для imageDocument автоматически пометит его dirty (т.е. нужно сохранить), так что вы можете легко сделать это добавление / удаление тега; установка значения пикселя временно; перемещение окна и т. д.
Команда CleanImage()
- это просто удобная функция. Фактическое свойство "отличается от хранимого файла" является свойством ImageDocument , материала, который сохраняется на диск.
Как следствие, команда на самом деле ничего не делает с изображениями, которые не имеют ImageDocument , то есть переменные изображения, которые никогда не отображались, не сохранялись или не вызывали ImageGetOrCreateImageDocument()
. Вы можете увидеть это здесь:
image img := RealImage( "test", 4, 100, 100 )
If ( TwoButtonDialog("Show?","Yes","No") )
img.ShowImage()
If ( TwoButtonDialog("Try closing before cleaning?","Yes","No") )
img.CloseImage()
else
{
img.CleanImage()
img.CloseImage()
}
Команда действительно соответствует:
void ImageDocumentClean( ImageDocument imgDoc )
и команда для проверки необходимости сохранения imageDocument -
Boolean ImageDocumentIsDirty( ImageDocument img_doc )
Итак, более типично вместо этого можно использовать эти команды, как я делаю в сценариях ниже.
Следующий скрипт показывает, как вы можете легко «испачкать» imageDocument , просто заново установив значение в пикселях. Обратите внимание, что этот скрипт работает независимо от отображения изображения, поскольку мы явно создаем ImageDocument .
Result( "\n Create Image... ")
image img := RealImage( "test", 4, 100, 100 )
Result( "\n Get it's ImageDocument... ")
imageDocument doc = img.ImageGetOrCreateImageDocument()
Result( "\n Is it dirty? --> " + (doc.ImageDocumentIsDirty()?"Yes, dirty":"No, clean"))
Result( "\n Clean it!" )
doc.ImageDocumentClean()
Result( "\n Is it dirty? --> " + (doc.ImageDocumentIsDirty()?"Yes, dirty":"No, clean"))
Result( "\n Make it dirty by setting the first pixel value to the value it has..." )
img.SetPixel(0,0,img.GetPixel(0,0))
Result( "\n Is it dirty? --> " + (doc.ImageDocumentIsDirty()?"Yes, dirty":"No, clean"))
Однако мне любопытно, когда такая функциональность когда-нибудь понадобится?