OS X: создавая или предварительный просмотр извлечения (.jpg, .png) .eps файла

Вы должны быть осторожны с различиями между 0, Nothing и vbNull. 0 является значением по умолчанию для логического значения. vbNull - это зарезервированное значение Null, которое должно переводиться как 1. Ничто не вызовет исключение почти во всех обстоятельствах.

Dim a As Boolean? = Nothing
Dim b As Boolean? = vbNull
Dim c As Boolean = vbNull
Dim d As Boolean

Print(a = True) 'will throw an Exception
Print(b = True) 'will return True (as vbNull = Int(1))
Print(c = True) 'will return True as the ? is unnecessary on a Boolean as vbNull = Int(1)
Print(d = True) 'will return False as the default value of a Boolean is 0
Print(a.GetValueOrDefault) 'will return False as this handles the Nothing case.

При работе с неназначенными значениями вы должны всегда сначала проверять Nothing (или просто следовать хорошей практике и устанавливать значение перед использованием).

    Dim a As Boolean?
    Dim b As Boolean = IIf(IsNothing(a), False, a)

Это вернет False, если a - Nothing, иначе вернет A.

Только после проверки на Nothing вы можете проверить на vbNull, поскольку Nothing возвращает ошибку для всех значений. Код ниже вернет False, если Nothing, или vbNull, или как-то иначе.

    Dim a As Boolean?
    Dim b As Boolean = IIf(IsNothing(a), False, IIf(a = vbNull, False, a))

Примечание: вы не можете использовать приведенный ниже код, так как тест a = vbNull будет против Ничего, которое вызовет исключение.

Or(IsNothing(a), a = vbNull) 

Я бы также не стал использовать GetValueOrDefault в любом реальном приложении, так как при использовании более сложных типов данных значение по умолчанию не будет таким простым и вы можете получить неожиданные результаты. ИМХО гораздо лучше проверить на IsNothing (или Object = Nothing, Object Is Nothing), чем полагаться на причуды типа данных.

Лучшей практикой было бы убедиться, что a имеет значение, что вы можете сделать, используя

    Dim a As Boolean? = New Boolean()
    Dim b As Boolean = a

Причина, по которой я говорю, что это лучшая практика, заключается в том, что для всех классов, а не только логические. Отмечено, что это логично для логических выражений.

Надеюсь, это поможет.

6
задан Ronn 31 December 2008 в 00:49
поделиться

3 ответа

Как упомянутый codelogic, sips хороший инструмент для этого. Однако это не поддерживает EPS исходно, таким образом, необходимо преобразовать в PDF сначала.

Если Вы находитесь на Tiger или Leopard, что-то как следующее должно работать:

mkdir pdf jpg

cd pdf
echo ../eps/*.eps | xargs -n1 pstopdf
cd ..


sips -s format jpeg *.pdf --out jpg/

Принятие Ваших файлов EPS находится в текущем каталоге, это сначала преобразует их всех в PDF, храня их в PDF / каталог, затем преобразует каждый PDF в файл JPEG в jpg/каталоге.

8
ответ дан 8 December 2019 в 14:48
поделиться

ImageMagick должен быть точно, что Вы ищете. После того как Вам установили его, просто используйте convert утилита:

convert file.eps -resize 25% preview.jpg  # create jpg thumbnail at 25% size
5
ответ дан 8 December 2019 в 14:48
поделиться

На OS X можно использовать глотки для выполнения задач обработки изображений, как thumbnailing. Это должно поддерживать EPS. Если это не делает, поскольку Adam рекомендовал, чтобы был ImageMagick convert.

2
ответ дан 8 December 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: