Не ясно, что Вы пытаетесь сделать, потому что Вы не показываете объявление насмешки. Вы пытаетесь дразнить словарь?
MyContainer[(string s)]
не допустимый C#.
Это компилирует:
var mock = new Mock<IDictionary>();
mock.SetupGet( p => p[It.IsAny<string>()]).Returns("foo");
Я использовал PIL, и результаты ресамплинга / изменения размера УЖАСНЫЕ.
Не должно быть, если вы:
quality =
на что-нибудь подходящее при сохранении JPEG (по умолчанию довольно низкое) Хотя imagemagick, по-видимому, де-факто библиотека изображений с открытым исходным кодом, возможно DevIL (кроссплатформенный, выполняет простые операции с изображениями) или FreeImage .
Вы проверили pypi ? Беглый поиск показывает там некоторые инструменты, связанные с изображениями, я также обнаружил python-gd, хотя понятия не имею, насколько он может быть полезен.
У меня никогда не было проблем с PIL, но какое-то разнообразие может быть интересно.
Я думаю, что это должно работать для разбиения двух строк и быть более эффективным, чем ваша текущая реализация с использованием substring и contains. Концептуально я перебираю символы в «левой» строке и сравниваю их с символом в «правой» строке. Если два символа совпадают, я перехожу к следующему символу в правой строке. В зависимости от того, для какой строки был достигнут конец первым, и совпадают ли последние сравниваемые символы или нет, определяется один из возможных случаев разбиения.
Я не придумал ничего, что могло бы улучшить временную сложность разбиения более двух струны. В качестве небольшого примечания для нескольких строк приведенный ниже алгоритм легко расширяется для проверки разбиения одной «левой» строки на несколько «правых» строк одновременно,
PIL может хорошо изменять размер. Убедитесь, что исходное изображение находится в режиме RGB, а не в цветовой палитре, и попробуйте выбрать другой алгоритм.
Взгляните на некоторые из этих библиотек изображений:
hxxp: //pypi.python.org/pypi/collective.croppingimagefield/0.1beta
hxxp: // pypi. python.org/pypi/cropresize/0.1.1
hxxp://pypi.python.org/pypi/image_resize/1.0
Последний раз, когда я сравнивал, результат этого даунскейлера почти идентичен результату "кубической" опции GIMP:
import Image
def stretch(im, size, filter=Image.NEAREST):
im.load()
im = im._new(im.im.stretch(size, filter))
return im
IIRC, различия визуально неразличимы - некоторые значения пикселей +/-1 из-за округления, и они имеют тенденцию быть круглыми по краям. Это также не медленно.
cf: http://www.mail-archive.com/image-sig@python.org/msg00248.html