6
votes

Afficher le fichier image sans le verrouiller. (Copier à la mémoire?)

Je veux pouvoir ouvrir / afficher une image (.jpg) sans verrouiller le fichier. Fondamentalement, j'ai un programme qui permet à l'utilisateur de choisir une image qui écrasera une image. Mais le problème est que j'affiche l'image écrasée. Alors comment puis-je charger une image sans le verrouiller?

Ceci est le code que je dois définir l'image maintenant xxx

myfilepath est égal à une chaîne qui serait quelque chose Comme "c: \ utilisateurs * \ mes images \ sample.jpg"


0 commentaires

3 Réponses :



11
votes

myBitmap.cachéoption = bitmapcachéoption.onload code> est la ligne que vous recherchez. Il "cache la totalité de l'image dans la mémoire à l'heure de chargement. Toutes les demandes de données d'image sont remplies de la mémoire de mémoire." De msdn

quelque chose comme ceci: p >

BitmapImage bmi = new BitmapImage();
bmi.BeginInit();
bmi.UriSource = new Uri(myFilePath);
bmi.CacheOption = BitmapCacheOption.OnLoad;
bmi.EndInit();
Image1.Source = bmi;


1 commentaires

Assurez-vous d'ajouter 'PresentationCore' à vos références de votre projet ou vous ne pourrez pas trouver l'espace de noms System.Windows.Media. Après avoir ajouté que la référence ajoutez à l'aide de System.Windows.Media.Maging; au sommet de votre projet. ;)



0
votes

Lorsque vous ouvrez un fichier, vous pouvez également choisir la part du fichier pour définir son Beaviour lorsqu'un autre programme nécessite ce fichier:

(de MSDN: http://msdn.microsoft.com/fr- US / Bibliothèque / Y973B725.aspx )

Méthode File.Open (chaîne, filemode, filaccess, ** FileShare ** )

Paramètres
chemin
Type: System.string
Le fichier à ouvrir.

mode
Type: System.IO.Filemode
Une valeur de filemode qui spécifie si un fichier est créé si l'on n'existe pas et détermine si le contenu des fichiers existants est conservé ou écrasé.

accès
Type: System.IO.FileAccess
Une valeur en filaccess spécifiant les opérations pouvant être effectuées dans le fichier.

* Partager
* Type: System.IO.Fileshare *

Une valeur de fichier de recherche spécifiant le type d'accès Les autres threads ont au fichier.


0 commentaires