如何将附加(不仅仅是将整个文本区域更改为此img,实际附加)将一个简单的25x25图像精灵转换为flex项目中的文本区域?使用动作? (不是mxml)
(它必须是一个火花文本区域组件,主要是因为这是一个灵活的移动项目,并且所有这些都针对移动设备进行了优化)
编辑: 我想我应该这样说,我知道HTML文本是可行的方法。但我真正的困惑在于它首先是一个精灵,所以我没有一个链接到的URL。它是一个实际的sprite var(它将是一个以字节为单位通过网络发送的文件,并保存在sprite对象中。)然后我丢失的第二部分是将其附加到文本内联,因此它不会替换任何文本已经在文本区域中,并且可以在文本区域中滚动。
另外,请记住即时尝试将其附加到SPARK TEXT AREA组件。我知道我可以创建一个文本字段实例,就是这样,但我找不到任何有关将其附加到文本区域的信息
再次编辑: 我试图追加的精灵有一些混乱,这就是图像的传播方式,
它起初只是一个标准的摄像手机图像,然后......
var fs:FileStream = new FileStream();
fs.open(new File(imageURL), FileMode.READ);
var bytes:ByteArray = new ByteArray();
fs.readBytes(bytes);
fs.close();
if (bytes == null)
{
trace("Image bytes is null!");
}
else
{
var message:Object = new Object();
message.type = "pic";
message.bytes = bytes;
netGroup.post(message);
trace("Picture sent!");
}
然后我就像这样回复它
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.allowCodeImport = false;
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onPicLoaded,false,0,true);
loader.loadBytes(message.bytes, loaderContext);
// add a new sprite to hold image
imageSprite = new Sprite();
imageSprite.addChild(loader);
所以最后我在imageSprite中得到了图像......这就把我的主要问题带到了TEXT AERA spark组件中。最终结果将具有在Android或iphone上发送的图片消息的外观。
答案 0 :(得分:1)
答案 1 :(得分:1)
我以前做过这件事,这是痛苦。用户将键入然后单击图像图标(如图释),它将“插入”文本。我所做的就是打破当前关注的TextField
,附加BitmapImage
,然后在附加TextField
的末尾开始一个新的BitmapImage
。
步骤:
TextField
和BitmapImage
块的数组。KeyUp
时,请检查您是否在TextField
的开头。如果您位于TextField
的开头,则会在您的数组块中找到TextField
。如果上一个块是BitmapImage
,那么找到BitmapImage
,将其与现在为空的TextField
一起清除,然后将用户的光标放在TextField
块的末尾。在BitmapImage
您最终会感觉像是一个无缝的TextField
与“表情符号”集成。这很麻烦,但当你做对了时,肯定会很好。
答案 2 :(得分:0)
最简单的方法是使用html Text。 不知道这是否是最合适的方式,但它有效。 :)
import flash.text.TextField;
var TF:TextField = new TextField();
this.TF.width = 200;
this.TF.height = 200;
this.TF.htmlText="Image in textfield: <img src='http://upload.pusha.se/3/HittaTidning_75.jpg' hspace='0' vspace='0'>";
this.addChild(this.TF);
答案 3 :(得分:0)
如果您确定上传的文件始终是图像,请尝试将精灵投射到图像中。
另外,你看到了火花组件docs吗?
“出于性能原因,它没有 支持滚动,选择,编辑, 可点击的超链接或加载的图像 来自网址。如果你需要那些 能力,请看 RichEditableText类。“
RichText http://docs.huihoo.com/flex/4/spark/components/RichText.html
RichEditableText http://docs.huihoo.com/flex/4/spark/components/RichEditableText.html
我不做flex,但我认为这是你需要的?所以基本上,在组件内添加文本流是需要的......
<s:RichEditableText id="richTxt" textAlign="justify" width="100%">
<s:textFlow>
<s:TextFlow>
<s:p>
<s:img source="@Embed(source='../assets/butterfly.gif')" height="100" width="100"/>
</s:p>
</s:TextFlow>
</s:textFlow>
</s:RichEditableText>