'''' This code is part of Document Solutions for Word demos.'' Copyright (c) MESCIUS inc. All rights reserved.''ImportsSystem.IOImportsSystem.LinqImportsGrapeCity.Documents.WordImportsGrapeCity.Documents.Imaging '' This sample adds a paragraph of text, spllits it in the middle,'' And inserts a picture into the split position.'' This sequence Is repeated several times with the same text And picture,'' but with different picture wrapping styles And alignments.PublicClassPictureWrapFunctionCreateDocx() AsGcWordDocumentDim doc = NewGcWordDocument() doc.Styles.DefaultParagraphFormat.Alignment = ParagraphAlignment.Both '' Load picture data:Dim picBytes = File.ReadAllBytes(Path.Combine("Resources", "Images", "road.jpg"))'' Create a GcBitmap so that we can find out the native picture size:Dim image = NewGcBitmap(picBytes)'' Scale picture to a smallish size:Dim width = doc.Body.Sections.Last.PageSetup.ClientWidth / 6Dim height = image.Height * (width / image.Width) '' The sectionDim sec = doc.Body.Sections.First'' The paragraphs collection:Dim pars = sec.GetRange().Paragraphs'' Generate a sample string (used in all sample paragraphs):Dim str = LoremIpsumPar(10, 10, 10, 10)'' Header: pars.Add("Different picture wrapping styles and alignments.", doc.Styles(BuiltInStyleId.Heading1)) '' Function to insert a sized picture into the middle of a paragraphDim addPicture As Func(OfString, Picture) =Function(caption_) pars.Add(caption_, doc.Styles(BuiltInStyleId.Heading2))Dim par_ = pars.Add(str)Dim text_ = par_.GetRange().Texts.First.Split(str.Length / 2)Dim run_ = text_.ParentRun.Split(text_, InsertLocation.Before) run_ = run_.PreviousDim pic_ = run_.GetRange().Pictures.Add(picBytes, "image/jpeg") pic_.Size.Width.Value = width pic_.Size.Height.Value = heightReturn pic_EndFunction '' Add picture using different wrapping styles And alignments:Dim pic = addPicture("Wrapping style 'In line with text':") pic = addPicture("Wrapping style 'Square', centered:") pic.WrapFormat.Type = WrapType.Square pic.Position.Horizontal.Type = ShapePositionType.Alignment pic.Position.Horizontal.Alignment = ShapeHorizontalRelativeAlignment.Center pic = addPicture("Wrapping style 'Tight', centered:") pic.WrapFormat.Type = WrapType.Tight pic.Position.Horizontal.Type = ShapePositionType.Alignment pic.Position.Horizontal.Alignment = ShapeHorizontalRelativeAlignment.Center '' Add page break sec.GetRange().Runs.Last.GetRange().Texts.AddBreak(BreakType.Page) pic = addPicture("Wrapping style 'Through', left aligned:") pic.WrapFormat.Type = WrapType.Through pic.Position.Horizontal.Type = ShapePositionType.Alignment pic.Position.Horizontal.Alignment = ShapeHorizontalRelativeAlignment.Left pic = addPicture("Wrapping style 'Top and Bottom', right aligned:") pic.WrapFormat.Type = WrapType.TopBottom pic.Position.Horizontal.Type = ShapePositionType.Alignment pic.Position.Horizontal.Alignment = ShapeHorizontalRelativeAlignment.Right pic = addPicture("Wrapping style 'Behind text', left aligned:") pic.WrapFormat.BehindText = True pic.WrapFormat.Type = WrapType.None pic.Position.Horizontal.Type = ShapePositionType.Alignment pic.Position.Horizontal.Alignment = ShapeHorizontalRelativeAlignment.Left '' Add page break sec.GetRange().Runs.Last.GetRange().Texts.AddBreak(BreakType.Page) pic = addPicture("Wrapping style 'In front of text', right aligned:") pic.WrapFormat.BehindText = False pic.WrapFormat.Type = WrapType.None pic.Position.Horizontal.Type = ShapePositionType.Alignment pic.Position.Horizontal.Alignment = ShapeHorizontalRelativeAlignment.Right pars.Add("The End.") '' DoneReturn docEndFunctionEndClass