SharePoint bietet eine Standardfunktion, die automatisch Vorschaubilder erstellt, wenn ein Bild in eine  Bildbibliothek hochgeladen wird. Die Vorschaubilder werden in 2 Größen erstellt. Die kleine Größe wird für Thumbnails genutzt, die größere für Web-Vorschauen.

Die verkleinerten Vorschaubilder werden in versteckten Ordnern abgelegt. Ein Beispiel:

Url des Originalbildes:

http://hansevision/testsite/MeineBilder/Blaubeer_Pfannkuchen.jpg

Url des Thumbnails:

http://hansevision/testsite/MeineBilder/_t/Blaubeer_Pfannkuchen_jpg.jpg

Url des Web-Vorschau-Bildes:

http://hansevision/testsite/MeineBilder/_w/Blaubeer_Pfannkuchen_jpg.jpg

In beiden Fällen wird eine Standardgröße verwendet, die je nach Listenvorlage unterschiedlich ist. Bei einer manuell erstellten Bildbibliothek sind die Größen auf 160 Pixel Breite für Thumbnails bzw. 480×640 Pixel für die Web-Vorschau voreingestellt. Die Standardgrößen für Bildbibliotheken die automatisch beim Anlegen einer Site (z.B. eine Publishing Site) erstellt werden, können sich davon unterscheiden.

Diese Einstellungen lassen sich in der Oberfläche selbst nicht anpassen. Gerade wenn man die Bilder in WebCMS Projekten nutzen möchte, macht es aber Sinn diese Einstellung zu verändern, damit die Bilder in der Darstellung in einer Seite korrekt skaliert und nicht verzerrt angezeigt werden.

Es gibt die Möglichkeit die Bildgrößen per Code zu ändern:

using (SPSite site = new SPSite(listUrl))
{
    using (SPWeb web = site.OpenWeb(listUrl))
    {
        SPList list = web.GetList(listUrl);
        SPPictureLibrary pictureList = list as SPPictureLibrary;

        if (pictureList != null)
        {
            pictureList.ThumbnailSize = 150;
            pictureList.Update();
        }
    }
}

Hinweis: Es ist darauf zu achten von welchem Typ die Liste ist. Im obigen Beispiel ist es eine manuell angelegt Bildbibliothek. Die von Publishing Sites angelegt Bildbibliothek (Name: “Bilder” bzw. “Images”) ist keine Bildbibliothek sondern eine Standard-Dokumentbibliothek. In diesem Fall sieht der Code ein wenig anders aus:

string listUrl = "http://hansevis/testsite/MeineBilder";

using (SPSite site = new SPSite(listUrl))
{
    using (SPWeb web = site.OpenWeb(listUrl))
    {
        SPList list = web.GetList(listUrl);
        SPDocumentLibrary pictureList = list as SPDocumentLibrary;

        if (pictureList != null && pictureList.ThumbnailsEnabled)
        {
            pictureList.ThumbnailSize = 150;
            pictureList.Update();
        }
    }
}

 

Alternativ kann die Größe mit Hilfe des SharePoint Managers angepasst werden. Dieser nutzt auch das Objektmodell, bietet aber einem “Nicht-Entwickler” eine recht komfortable Oberfläche.

image

Der SharePoint Manager ist ein freies Tool und kann hier heruntergeladen werden: http://spm.codeplex.com/

Die Änderung der Einstellungen für die Skalierung (egal ob per Code oder per SharePoint Manager) wird erst bei neu hochgeladenen Bildern wirksam, da nur beim Hochladen der SharePoint-Skalierungsmechanismus angestoßen wird. Daher müssen evtl. bereits vorhandene Bilder neu hochgeladen und überschrieben werden.

 

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.