2011-03-21 2 views
0

У меня есть thumbnailer, который сканирует данный каталог и генерирует миниатюры для файлов изображений, которые он находит.Каков наилучший способ изменить расширения имен файлов в .NET?

У меня есть хороший общий способ загрузки изображений, которые я нахожу, которые соответствуют Допустимые расширения файлов (bmp, jpg, png и т.д.), но ... Я хочу, чтобы написать все уменьшенные файлы как png.

То, что я не знаю, как удобно извлечь имя файла без расширения и воткнуть .png на конце перед выводом моего изображения ...

For Each File In SourceFileList 
     Dim FileInfo = New FileInfo(File) 
     Dim ThumbFilename = String.Format("{0}\Thumb_{1}", TargetDir, FileInfo.Name) '<-- How do I set the correct name here? 
     Dim Thumb = Thumbnailer.Thumbnail(FileInfo.FullName, 100) 
     Thumb.Save(ThumbFilename, Imaging.ImageFormat.Png) 
    Next 

Я знаю, что я могу использовать Split и различным другие строковые манипуляции, но все они кажутся немного неуклюжими. Есть ли лучший способ сделать это? Что-то в System.IO?

(я никогда бы не подумал 10 лет назад, что split бы е слишком неуклюжим - Как изменились времена!)

+0

@Michael Petrotta - Спасибо за ваше редактирование, чтобы улучшить название, но я предпочел бы оставить «Спасибо заранее ...» в вопросе, если он не нарушит какие-либо конкретные рекомендации? Мне нравится быть вежливым для тех, кто отказывается от своего времени, чтобы помочь мне ... – Basic

+0

Он делает. См. [Должны ли «Привет», «спасибо», а также теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-and-taglines-and-salutations-be -removed-from-posts) и ряд связанных дискуссий с правой стороны этой страницы. Я ценю ваши чувства, но я бы посоветовал, что писать хорошие вопросы (которые есть у вас) - это гораздо лучший способ проявить вежливость и вежливость. –

+0

@Michael Petrotta пункт, спасибо за отзыв. Я отменил свое изменение, чтобы вернуть его обратно :) – Basic

ответ

5

Вы ищете Path.ChangeExtension.
Вы также должны ознакомиться с остальной частью класса Path; это очень полезный, но малоизвестный класс.

+0

Это похоже на то, что мне нужно. Позвольте мне попробовать, и я вернусь к вам. – Basic

+0

Это было прекрасно, спасибо. Похоже, есть новое пространство имен, которое мне нужно изучить :) – Basic

+0

'Path' - это класс, а не пространство имен. 'System.IO' - это пространство имен. – SLaks

Смежные вопросы