示例#1
0
def createDatasetWithCompoundType(h5file):

    mtype = createMemType()
    ftype = createFileType()

    npoints = 4
    shape = Array[Int64]((npoints, ))
    dspace = H5S.create_simple(shape.Length, shape)

    dset = H5D.create(h5file, 'DS1', ftype, dspace)

    ms = MemoryStream()
    writer = BinaryWriter(ms)

    writer.Write(Int32(1153))
    s = 'Exterior (static)'
    if IntPtr.Size == 8:
        writer.Write(Marshal.StringToHGlobalAnsi(s).ToInt64())
    else:
        writer.Write(Marshal.StringToHGlobalAnsi(s).ToInt32())
    writer.Write(Double(53.23))
    writer.Write(Double(24.57))

    writer.Write(Int32(1184))
    s = 'Intake'
    if IntPtr.Size == 8:
        writer.Write(Marshal.StringToHGlobalAnsi(s).ToInt64())
    else:
        writer.Write(Marshal.StringToHGlobalAnsi(s).ToInt32())
    writer.Write(Double(55.12))
    writer.Write(Double(22.95))

    writer.Write(Int32(1027))
    s = 'Intake manifold'
    if IntPtr.Size == 8:
        writer.Write(Marshal.StringToHGlobalAnsi(s).ToInt64())
    else:
        writer.Write(Marshal.StringToHGlobalAnsi(s).ToInt32())
    writer.Write(Double(103.55))
    writer.Write(Double(31.23))

    writer.Write(Int32(1313))
    s = 'Exhaust manifold'
    if IntPtr.Size == 8:
        writer.Write(Marshal.StringToHGlobalAnsi(s).ToInt64())
    else:
        writer.Write(Marshal.StringToHGlobalAnsi(s).ToInt32())
    writer.Write(Double(1252.89))
    writer.Write(Double(84.11))

    byteArray = ms.ToArray()

    H5D.write(dset, mtype, H5Array[Byte](byteArray))

    H5S.close(dspace)
    H5T.close(ftype)
    H5T.close(mtype)

    return dset
示例#2
0
    def pick(snip=False):
        snipper = PickSnipTool(PickSnipTool.take_screenshot(), snip=snip)

        while True:
            result = snipper.ShowDialog()
            if result in [DialogResult.OK, DialogResult.Cancel]:
                break
            if snipper.mouse_down_seconds == 1:
                Mouse.Instance.Click(snipper.mouse_down)
                time.sleep(0.5)
            snipper.BackgroundImage = PickSnipTool.take_screenshot()

        if result == DialogResult.OK and snip:
            if snipper.snip_rectangle.Width and snipper.snip_rectangle.Height:
                img = Bitmap(
                    snipper.snip_rectangle.Width,
                    snipper.snip_rectangle.Height,
                )
                gr = Graphics.FromImage(img)
                gr.DrawImage(
                    snipper.BackgroundImage,
                    Rectangle(0, 0, img.Width, img.Height),
                    snipper.snip_rectangle,
                    GraphicsUnit.Pixel,
                )
                fp = MemoryStream()
                img.Save(fp, ImageFormat.Png)
                return {
                    'bytes': bytes(bytearray(fp.ToArray())),
                }
            return {}

        elif result == DialogResult.OK:
            if (snipper.mouse_down_seconds
                    and snipper.mouse_down_seconds <= snipper.click_timeout):
                Mouse.Instance.Click(snipper.mouse_down)
                time.sleep(0.5)
            el = AutomationElement.FromPoint(snipper.mouse_up)
            result = {
                prop.ProgrammaticName.split('.', 1)[-1]:
                el.GetCurrentPropertyValue(prop)
                for prop in el.GetSupportedProperties()
            }
            result.update({
                'NameProperty':
                el.GetCurrentPropertyValue(el.NameProperty),
                'ControlTypeProperty':
                el.GetCurrentPropertyValue(
                    el.ControlTypeProperty, ).ProgrammaticName.split('.',
                                                                     1)[-1],
                'AutomationIdProperty':
                el.GetCurrentPropertyValue(el.AutomationIdProperty, ),
            })
            return result
        else:
            return {}
示例#3
0
def _read_to_end(stream, bufsize=4096):
    buffer = _make_buffer(bufsize)
    memory = MemoryStream()
    while True:
        count = stream.Read(buffer, 0, bufsize)
        if not count:
            break
        memory.Write(buffer, 0, count)
    bytes = memory.ToArray()
    memory.Close()
    return bytes
示例#4
0
def compress(string, level=6):
    bytes = raw.GetBytes(string)
    stream = MemoryStream()
    zstream = DeflateStream(stream, CompressionMode.Compress, True)
    zstream.Write(bytes, 0, len(bytes))
    zstream.Close()
    compressed = raw.GetString(stream.ToArray())
    stream.Close()

    header = _zlib_header()
    footer = _zlib_footer(string)
    return header + compressed + footer
示例#5
0
 def take_screenshot(as_bytes=False):
     bounds = Screen.PrimaryScreen.Bounds
     screenshot = Bitmap(bounds.Width, bounds.Height,
                         PixelFormat.Format32bppPArgb)
     graphics = Graphics.FromImage(screenshot)
     graphics.CopyFromScreen(0, 0, 0, 0, screenshot.Size)
     if as_bytes:
         fp = MemoryStream()
         screenshot.Save(fp, ImageFormat.Png)
         return bytes(bytearray(fp.ToArray()))
     else:
         return screenshot
示例#6
0
def _serialization_reduce(obj):
    stream = MemoryStream()
    _formatter.Serialize(stream, obj)
    bytes = stream.ToArray()
    string = raw.GetString(bytes)
    return _serialization_reconstructor, (string, )
示例#7
0
h5file = H5F.create('SDS.h5', H5F.CreateMode.ACC_TRUNC)

baseType = H5T.copy(H5T.H5Type.NATIVE_INT)
dims = Array[Int64]((3, 3))
dtype = H5T.create_array(baseType, dims)

shape = Array[Int64]((5, 6))
dspace = H5S.create_simple(shape.Length, shape)

dset = H5D.create(h5file, 'array', dtype, dspace)

ms = MemoryStream()
writer = BinaryWriter(ms)

for i in range(270):
    writer.Write(i)

data = ms.ToArray()

status = H5D.write(dset, dtype, H5Array[Byte](data))

H5D.close(dset)
H5S.close(dspace)
H5T.close(baseType)
H5T.close(dtype)
H5F.close(h5file)

print 'Shutting down HDF5 library'
status = H5.Close()
示例#8
0
                except Exception, e:
                    continue

                finally:
                    if fs is not None:
                        fs.Close()

        ms = None
        fs = None

        try:
            ms = MemoryStream()
            characters = Array.CreateInstance(Character, 1)
            characters[0] = characterList[Random(Environment.TickCount).Next(
                characterList.Count)]
            serializer = XmlSerializer(characters.GetType())
            serializer.Serialize(ms, characters)
            ms.Seek(0, SeekOrigin.Begin)
            fs = FileStream(path, FileMode.Create, FileAccess.Write,
                            FileShare.Read)
            buffer = ms.ToArray()
            fs.Write(buffer, 0, buffer.Length)
            fs.Flush()

        finally:
            if fs is not None:
                fs.Close()

            if ms is not None:
                ms.Close()
示例#9
0
def BitmapToBytes(bitmap):
    ms = MemoryStream()
    bitmap.Save(ms, ImageFormat.Jpeg)
    ms.Close()
    return ms.ToArray()