是否可以在C#中快速加载和编码图像到base64?(Is it possible to load and encode images to base64 fast in C#?)
我想加载一个图像并直接将其编码为base64字符串。 小/低分辨率图片加载速度很快,但加载iPhone 5拍摄的照片(例如2448 x 3264,2.61 MB)需要很长时间。 有没有办法在我的应用程序中更快地加载这些图像?
这是我的C#代码:
private void button1_Click(object sender, EventArgs e) { Stream myStream = null; OpenFileDialog openFileDialog1 = new OpenFileDialog(); //Setup OpenFileDialog if (openFileDialog1.ShowDialog() == DialogResult.OK) { if ((myStream = openFileDialog1.OpenFile()) != null) { using (myStream) { string sFileName = openFileDialog1.FileName; textBox1.Text = sFileName; pictureBox1.ImageLocation = sFileName; using (Bitmap bm = new Bitmap(sFileName)) { using (var ms = new MemoryStream()) { bm.Save(ms, ImageFormat.Jpeg); base64 = Convert.ToBase64String(ms.ToArray()); textBox3.Text = base64; } } } } } }
I want to load an image and directly encode this to a base64 string. Small/low-res pictures load fast but loading a picture taken by an iPhone 5 for example (2448 x 3264, 2.61 MB) takes ages. Is there a way to load these images faster in my application?
Here is my C# code:
private void button1_Click(object sender, EventArgs e) { Stream myStream = null; OpenFileDialog openFileDialog1 = new OpenFileDialog(); //Setup OpenFileDialog if (openFileDialog1.ShowDialog() == DialogResult.OK) { if ((myStream = openFileDialog1.OpenFile()) != null) { using (myStream) { string sFileName = openFileDialog1.FileName; textBox1.Text = sFileName; pictureBox1.ImageLocation = sFileName; using (Bitmap bm = new Bitmap(sFileName)) { using (var ms = new MemoryStream()) { bm.Save(ms, ImageFormat.Jpeg); base64 = Convert.ToBase64String(ms.ToArray()); textBox3.Text = base64; } } } } } }
原文:https://stackoverflow.com/questions/37990239
更新时间:2022-06-26 08:06
最满意答案
告诉你想要什么有点难,但也许这样做:
SELECT * from md_number_ranges m join ( SELECT md_number_ranges.id , count(*) as FOUND_ROWS FROM md_number_list JOIN md_number_ranges ON md_number_list.range_id = md_number_ranges.id WHERE md_number_list.phone_num_status NOT IN (2, 0) AND md_number_ranges.reseller_id=1 GROUP BY range_id ) x on x.id=m.id LIMIT 10 OFFSET 0
It's a bit hard to tell what you want, but perhaps this will do:
SELECT * from md_number_ranges m join ( SELECT md_number_ranges.id , count(*) as FOUND_ROWS FROM md_number_list JOIN md_number_ranges ON md_number_list.range_id = md_number_ranges.id WHERE md_number_list.phone_num_status NOT IN (2, 0) AND md_number_ranges.reseller_id=1 GROUP BY range_id ) x on x.id=m.id LIMIT 10 OFFSET 0
相关问答
更多-
如果您想要所有房间,请反转表格关系 SELECT `R`.`name` as `room_name`, `R`.`id` as `room_id`, `UD`.`discount` as `discount` FROM `rooms` as `R` LEFT JOIN `user_discounts` as `UD` ON `R`.`id`= `UD`.`room_id` AND`UD`.`user_id` = '1482' AND `UD`.`hote ...
-
您可以在sum和CASE上使用选择性聚合 select task.id , task.title , task.description , sum(case when Message.status = 1 then 1 else 0 end ) status1 , sum(case when Message.status = 2 then 1 else 0 end ) status2 , sum(case when Message.status = 3 ...
-
mysql内连接限制结果(mysql inner join limiting results)[2022-03-22]
您不应在一个表达式中分配变量,然后在另一个表达式中使用它们。 MySQL不保证select语句中表达式的评估顺序。 在您的情况下,这适用于@g 。 因此,编写查询的正确方法是在单个表达式中执行变量操作: SELECT * FROM (SELECT *, (@r := IF(@g = c.id, @r + 1, IF(@g := c.id, 1, 1) ) ) as r ... -
告诉你想要什么有点难,但也许这样做: SELECT * from md_number_ranges m join ( SELECT md_number_ranges.id , count(*) as FOUND_ROWS FROM md_number_list JOIN md_number_ranges ON md_number_list.range_id = md_number_ranges.id WHERE md_number_list. ...
-
您需要删除GROUP BY ,如果您的项目具有多个大小,您的子查询将返回多个结果,并且更新将失败。 UPDATE T1 set Stock = (SELECT count(ID_Item) FROM T2 INNER JOIN T3 WHERE T2.ID_Product = T1.ParentSKU AND T3.ID = T2.ID_Product AND Stock_Items.Name ...
-
没有group by aggregate function总是返回一行,所以你需要添加一个group by子句 SELECT n.id, n.title, n.image_url, n.date, Count(v.news_id) from news n join views v on v.news_id = n.id group by n.id aggregate function without group by returns always one row, so you need to a ...
-
如何加入并获得4个结果(How to join and get 4 results)[2021-12-30]
你的问题似乎是在WHERE 。 这个说法: Select A.Artnr, A.grp, A.name, B.eigenschap, B.waarde from A left join B on B.Artnr = A.Artnr 会返回第3条,这是 3 FlowerC NameC NULL NULL 在此之后,您会筛选eigenschap = 'color' ,这会从最终结果集中移除该行,因为eigenschap为NULL 。 将该条件移至连接条件: Select A.Artn ... -
MySQL没有TOP关键字。 但它有一个LIMIT关键字。 无论如何,您的查询无效。 这里有几个选择。 以下是相关子查询的示例: https : //en.wikipedia.org/wiki/Correlated_subquery SELECT a.idAuthor, a.Name , (SELECT COUNT(*) from author_has_publication ahp WHERE ahp.Author_idAuthor = a.idAuth ...
-
根据您的表结构,下面的查询可能会添加您要查找的必要列: select users.UserName, Name, anniversaryDate, RegionCode, Coalesce(count(b.UserName),0) as cnt from users left outer join (select Username, max(timeUsed) from log_table where role='Cou' ...
-
使用加入信息计数(counting using join information)[2022-02-17]
我想你正在寻找conditional count 将where子句过滤器移动到Count Aggregate并使count聚合仅在stock.perishable = 0时计算记录。 SELECT orderdemo.fk_orderno, Count(CASE WHEN stock.perishable = 0 THEN 1 END) AS nonperishable_count FROM stock INN ...