Test
This commit is contained in:
123
PrintPDF/PdfSharp/Drawing/XBitmapSource.cs
Normal file
123
PrintPDF/PdfSharp/Drawing/XBitmapSource.cs
Normal file
@@ -0,0 +1,123 @@
|
||||
#region PDFsharp - A .NET library for processing PDF
|
||||
//
|
||||
// Authors:
|
||||
// Stefan Lange
|
||||
//
|
||||
// Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany)
|
||||
//
|
||||
// http://www.pdfsharp.com
|
||||
// http://sourceforge.net/projects/pdfsharp
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the "Software"),
|
||||
// to deal in the Software without restriction, including without limitation
|
||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
// and/or sell copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
#endregion
|
||||
|
||||
#if CORE
|
||||
#endif
|
||||
|
||||
using System.Diagnostics;
|
||||
using PdfSharp.Internal;
|
||||
|
||||
#if GDI
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Drawing.Imaging;
|
||||
#endif
|
||||
#if WPF
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
#endif
|
||||
#if NETFX_CORE
|
||||
using Windows.UI.Xaml.Media.Imaging;
|
||||
#endif
|
||||
|
||||
// WPFHACK
|
||||
#pragma warning disable 0169
|
||||
#pragma warning disable 0649
|
||||
|
||||
namespace PdfSharp.Drawing
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines an abstract base class for pixel based images.
|
||||
/// </summary>
|
||||
public abstract class XBitmapSource : XImage
|
||||
{
|
||||
// TODO: Move code from XImage to this class.
|
||||
|
||||
/// <summary>
|
||||
/// Gets the width of the image in pixels.
|
||||
/// </summary>
|
||||
public override int PixelWidth
|
||||
{
|
||||
get
|
||||
{
|
||||
#if (CORE_WITH_GDI || GDI) && !WPF
|
||||
try
|
||||
{
|
||||
Lock.EnterGdiPlus();
|
||||
return _gdiImage.Width;
|
||||
}
|
||||
finally { Lock.ExitGdiPlus(); }
|
||||
#endif
|
||||
#if GDI && WPF
|
||||
int gdiWidth = _gdiImage.Width;
|
||||
int wpfWidth = _wpfImage.PixelWidth;
|
||||
Debug.Assert(gdiWidth == wpfWidth);
|
||||
return wpfWidth;
|
||||
#endif
|
||||
#if WPF && !GDI
|
||||
return _wpfImage.PixelWidth;
|
||||
#endif
|
||||
#if NETFX_CORE || UWP
|
||||
return _wrtImage.PixelWidth;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the height of the image in pixels.
|
||||
/// </summary>
|
||||
public override int PixelHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
#if (CORE_WITH_GDI || GDI) && !WPF
|
||||
try
|
||||
{
|
||||
Lock.EnterGdiPlus();
|
||||
return _gdiImage.Height;
|
||||
}
|
||||
finally { Lock.ExitGdiPlus(); }
|
||||
#endif
|
||||
#if GDI && WPF
|
||||
int gdiHeight = _gdiImage.Height;
|
||||
int wpfHeight = _wpfImage.PixelHeight;
|
||||
Debug.Assert(gdiHeight == wpfHeight);
|
||||
return wpfHeight;
|
||||
#endif
|
||||
#if WPF && !GDI
|
||||
return _wpfImage.PixelHeight;
|
||||
#endif
|
||||
#if NETFX_CORE || UWP
|
||||
return _wrtImage.PixelHeight;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user