Re: Saving PointF data in MSAccess

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Thanks Cor and Göran

I can see how the image data is converted into the Byte Array (and back)
from the code example. Which is very neat.
However, and this is the bit I'm struggling with, how do I save a
GraphicsPath to a MemoryStream?
Göran is suggesting using the BinaryWriter but how do I do that from a
PointF array?

The save and retrieve process to/from the database would therefore be:
SAVE
[GraphicsPath]->[BinaryWriter?]->[MemoryStream]->[Byte
Array]->[ToBase64String]
RETRIEVE
[FromBase64String]->[Byte
Array]->[MemoryStream]->[BinaryReader?]->[GraphicsPath]





"Cor Ligthert [MVP]" wrote:

Keith,

In addition to Goran.

http://www.vb-tips.com/default.aspx?ID=5ad37c7b-3732-4558-8dd7-e68d238952a5

I hope this helps,

Cor

"Keith G" <KeithG@xxxxxxxxxxxxxxxxxxxxxxxxx> schreef in bericht
news:6C60F4F6-4452-4F78-B571-1AF92B711D66@xxxxxxxxxxxxxxxx
VS2003 using VB.Net

I want to be able to save drawing path data in a database.
If I store the Points array for each GraphicsPath I can then reproduce (in
this case) filled polygons at run time. The user will create the polygons
initially.
The number of points in the polygons will vary so I only want to save this
data in one field (rectangles would have been a lot easier).

The only way I can think of doing this is by saving the points as a string
in a Memo field; looping through all the points in the Array and using
GetValue to add the points to the string e.g.:
{x=369, y=89}{x=500, y=200}{x=700, y=300}

To retrieve the polygon at the next run time then seems a bit messy i.e.
to
extract the points from the string and get them in the PointF format e.g.:
PointArray(intZoneCount).SetValue(New PointF(369, 89), 0) (would be the
first point)
I can see how this can be done and I'm sure it will work but can anyone
suggest a better way? or am I missing something blindingly obvious!

Thanks in advance.



.



Relevant Pages

  • Re: Saving PointF data in MSAccess
    ... How about using a binarywriter to write the values to a memorystream, get the byte array from the stream and use the Convert.ToBase64String method to turn it into a string? ... If I store the Points array for each GraphicsPath I can then reproduce filled polygons at run time. ... The only way I can think of doing this is by saving the points as a string in a Memo field; looping through all the points in the Array and using GetValue to add the points to the string e.g.: ...
    (microsoft.public.dotnet.languages.vb)
  • Re: two dimensional arrays:
    ... > I'm trying to use an C API which is for geometry calculations. ... > requires an argument for an array of polygons: ... > coordpt **polygons ... Check out the following code for building a 2 dimensional array: ...
    (comp.lang.c)
  • object.to_yaml works but [ object ].to_yaml fails
    ... Area Description: Deltana, Tanana Flats ... Polygons: ... However when I put the object in an array I get the following error ...
    (comp.lang.ruby)
  • Re: Problem filtering recordset by values held in array
    ... If you have a string that starts out as 1, 2, 4, instead of splitting it ... into an array, keep it as is and use it in your WHERE clause. ... I can split the memo field OK, ...
    (microsoft.public.inetserver.asp.general)
  • Re: Polygon Rendering Speed
    ... but the polygons are not necessarily regular. ... indeed filling the RGB array of a DIB section is faster, ... 2x2 pixels in size. ...
    (microsoft.public.vb.winapi.graphics)