-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
InPlaceBitmapMetadataWriter.xml
281 lines (267 loc) · 17.6 KB
/
InPlaceBitmapMetadataWriter.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
<Type Name="InPlaceBitmapMetadataWriter" FullName="System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter">
<TypeSignature Language="C#" Value="public sealed class InPlaceBitmapMetadataWriter : System.Windows.Media.Imaging.BitmapMetadata" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit InPlaceBitmapMetadataWriter extends System.Windows.Media.Imaging.BitmapMetadata" />
<TypeSignature Language="DocId" Value="T:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class InPlaceBitmapMetadataWriter
Inherits BitmapMetadata" />
<TypeSignature Language="F#" Value="type InPlaceBitmapMetadataWriter = class
 inherit BitmapMetadata" />
<TypeSignature Language="C++ CLI" Value="public ref class InPlaceBitmapMetadataWriter sealed : System::Windows::Media::Imaging::BitmapMetadata" />
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Windows.Media.Imaging.BitmapMetadata</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>Enables in-place updates to existing blocks of <see cref="T:System.Windows.Media.Imaging.BitmapMetadata" />.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If <xref:System.Windows.Media.Imaging.BitmapMetadata> is not associated with a <xref:System.Windows.Media.Imaging.BitmapFrame> that is obtained through a <xref:System.Windows.Media.Imaging.BitmapDecoder>, the attempt to write metadata by using the in-place writer will fail. Successful write operations apply the metadata directly to the image stream by means of a decoder.
In-place metadata updates fail if an attempt is made to write metadata that a given bitmap format does not support.
To perform in-place metadata edits, the bitmap must be decoded using either the <xref:System.Windows.Media.Imaging.BitmapCacheOption.Default> or <xref:System.Windows.Media.Imaging.BitmapCacheOption.OnDemand> cache options. <xref:System.Windows.Media.Imaging.BitmapCacheOption.OnLoad> does not guarantee access to the metadata stream needed for in-place metadata edits.
## Examples
This example shows how you can modify metadata within an image without having to re-encode the image. The following example uses an <xref:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter> to write metadata into an image.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Wpf/BitMapMetadata/CPP/BitmapMetadata.cpp" id="Snippetsetquery":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Media.Imaging/BitmapDecoder/CreateInPlaceBitmapMetadataWriter/BitmapMetadata.cs" id="Snippetsetquery":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/BitMapMetadata/VB/BitmapMetadata.vb" id="Snippetsetquery":::
]]></format>
</remarks>
<altmember cref="T:System.Windows.Media.Imaging.BitmapMetadata" />
<altmember cref="T:System.Windows.Media.Imaging.BitmapImage" />
</Docs>
<Members>
<Member MemberName="Clone">
<MemberSignature Language="C#" Value="public System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter Clone ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter Clone() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter.Clone" />
<MemberSignature Language="VB.NET" Value="Public Function Clone () As InPlaceBitmapMetadataWriter" />
<MemberSignature Language="F#" Value="override this.Clone : unit -> System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter" Usage="inPlaceBitmapMetadataWriter.Clone " />
<MemberSignature Language="C++ CLI" Value="public:
 System::Windows::Media::Imaging::InPlaceBitmapMetadataWriter ^ Clone();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Creates a modifiable clone of this <see cref="T:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter" />, making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.</summary>
<returns>A modifiable clone of the current object. The cloned object's <see cref="P:System.Windows.Freezable.IsFrozen" /> property will be <see langword="false" /> even if the source's <see cref="P:System.Windows.Freezable.IsFrozen" /> property was <see langword="true" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is used to produce modifiable copies of frozen <xref:System.Windows.Freezable> objects (or any <xref:System.Windows.Freezable> object). For convenience, this method shadows the inherited version with a strongly typed implementation.
For more information, see <xref:System.Windows.Freezable.Clone%2A?displayProperty=nameWithType>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="CloneCore">
<MemberSignature Language="C#" Value="protected override void CloneCore (System.Windows.Freezable sourceFreezable);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void CloneCore(class System.Windows.Freezable sourceFreezable) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter.CloneCore(System.Windows.Freezable)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub CloneCore (sourceFreezable As Freezable)" />
<MemberSignature Language="F#" Value="override this.CloneCore : System.Windows.Freezable -> unit" Usage="inPlaceBitmapMetadataWriter.CloneCore sourceFreezable" />
<MemberSignature Language="C++ CLI" Value="protected:
 override void CloneCore(System::Windows::Freezable ^ sourceFreezable);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sourceFreezable" Type="System.Windows.Freezable" />
</Parameters>
<Docs>
<param name="sourceFreezable">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CloneCurrentValueCore">
<MemberSignature Language="C#" Value="protected override void CloneCurrentValueCore (System.Windows.Freezable sourceFreezable);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void CloneCurrentValueCore(class System.Windows.Freezable sourceFreezable) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter.CloneCurrentValueCore(System.Windows.Freezable)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub CloneCurrentValueCore (sourceFreezable As Freezable)" />
<MemberSignature Language="F#" Value="override this.CloneCurrentValueCore : System.Windows.Freezable -> unit" Usage="inPlaceBitmapMetadataWriter.CloneCurrentValueCore sourceFreezable" />
<MemberSignature Language="C++ CLI" Value="protected:
 override void CloneCurrentValueCore(System::Windows::Freezable ^ sourceFreezable);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sourceFreezable" Type="System.Windows.Freezable" />
</Parameters>
<Docs>
<param name="sourceFreezable">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CreateInstanceCore">
<MemberSignature Language="C#" Value="protected override System.Windows.Freezable CreateInstanceCore ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance class System.Windows.Freezable CreateInstanceCore() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter.CreateInstanceCore" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Function CreateInstanceCore () As Freezable" />
<MemberSignature Language="F#" Value="override this.CreateInstanceCore : unit -> System.Windows.Freezable" Usage="inPlaceBitmapMetadataWriter.CreateInstanceCore " />
<MemberSignature Language="C++ CLI" Value="protected:
 override System::Windows::Freezable ^ CreateInstanceCore();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Freezable</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetAsFrozenCore">
<MemberSignature Language="C#" Value="protected override void GetAsFrozenCore (System.Windows.Freezable sourceFreezable);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void GetAsFrozenCore(class System.Windows.Freezable sourceFreezable) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter.GetAsFrozenCore(System.Windows.Freezable)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub GetAsFrozenCore (sourceFreezable As Freezable)" />
<MemberSignature Language="F#" Value="override this.GetAsFrozenCore : System.Windows.Freezable -> unit" Usage="inPlaceBitmapMetadataWriter.GetAsFrozenCore sourceFreezable" />
<MemberSignature Language="C++ CLI" Value="protected:
 override void GetAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sourceFreezable" Type="System.Windows.Freezable" />
</Parameters>
<Docs>
<param name="sourceFreezable">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetCurrentValueAsFrozenCore">
<MemberSignature Language="C#" Value="protected override void GetCurrentValueAsFrozenCore (System.Windows.Freezable sourceFreezable);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void GetCurrentValueAsFrozenCore(class System.Windows.Freezable sourceFreezable) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter.GetCurrentValueAsFrozenCore(System.Windows.Freezable)" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub GetCurrentValueAsFrozenCore (sourceFreezable As Freezable)" />
<MemberSignature Language="F#" Value="override this.GetCurrentValueAsFrozenCore : System.Windows.Freezable -> unit" Usage="inPlaceBitmapMetadataWriter.GetCurrentValueAsFrozenCore sourceFreezable" />
<MemberSignature Language="C++ CLI" Value="protected:
 override void GetCurrentValueAsFrozenCore(System::Windows::Freezable ^ sourceFreezable);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="sourceFreezable" Type="System.Windows.Freezable" />
</Parameters>
<Docs>
<param name="sourceFreezable">To be added.</param>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="TrySave">
<MemberSignature Language="C#" Value="public bool TrySave ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool TrySave() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter.TrySave" />
<MemberSignature Language="VB.NET" Value="Public Function TrySave () As Boolean" />
<MemberSignature Language="F#" Value="member this.TrySave : unit -> bool" Usage="inPlaceBitmapMetadataWriter.TrySave " />
<MemberSignature Language="C++ CLI" Value="public:
 bool TrySave();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1">
<AttributeName Language="C#">[System.Security.SecurityCritical]</AttributeName>
<AttributeName Language="F#">[<System.Security.SecurityCritical>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Gets a value that indicates whether image metadata can be saved successfully.</summary>
<returns>
<see langword="true" /> if bitmap metadata can be written successfully; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example demonstrates how to use the <xref:System.Windows.Media.Imaging.InPlaceBitmapMetadataWriter.TrySave%2A> method to determine whether metadata can be written successfully to a Tagged Image File Format (TIFF) image.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Wpf/BitMapMetadata/CPP/BitmapMetadata.cpp" id="Snippetsetquery":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Media.Imaging/BitmapDecoder/CreateInPlaceBitmapMetadataWriter/BitmapMetadata.cs" id="Snippetsetquery":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Wpf/BitMapMetadata/VB/BitmapMetadata.vb" id="Snippetsetquery":::
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>