由于投屏的屏幕太宽,能不能前端代码设置本身先在电脑上呈现一种左右压缩的效果,投屏后对冲拉伸
时间: 2024-03-13 17:43:58 浏览: 10
可以通过CSS的transform属性来实现电脑上呈现一种左右压缩的效果,并在投屏后对冲拉伸。具体来说,可以设置一个transform: scale()的属性,将元素的宽度缩小一定比例,如:
```css
.element {
transform: scale(0.8); /* 将元素宽度缩小20% */
}
```
这样,在电脑上呈现时,元素的宽度就被缩小了,投屏后再根据屏幕宽度的变化,自动进行冲拉伸,从而适应不同的屏幕宽度。
相关问题
JAVA写excel 2个SHEET页数据对冲算法,根据3种条件先优先全部匹配,接着2种匹配,最后一种匹配
您好,根据您的需求,我可以提供以下的JAVA代码实现2个SHEET页数据对冲算法,根据3种条件先优先全部匹配,接着2种匹配,最后一种匹配:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelMatch {
public static void main(String[] args) throws IOException {
//读取文件1
File file1 = new File("file1.xlsx");
FileInputStream inputStream1 = new FileInputStream(file1);
Workbook workbook1 = null;
if (file1.getName().endsWith("xlsx")) {
workbook1 = new XSSFWorkbook(inputStream1);
} else if (file1.getName().endsWith("xls")) {
workbook1 = new HSSFWorkbook(inputStream1);
}
Sheet sheet1 = workbook1.getSheetAt(0);
List<Map<String, String>> list1 = readSheet(sheet1);
//读取文件2
File file2 = new File("file2.xlsx");
FileInputStream inputStream2 = new FileInputStream(file2);
Workbook workbook2 = null;
if (file2.getName().endsWith("xlsx")) {
workbook2 = new XSSFWorkbook(inputStream2);
} else if (file2.getName().endsWith("xls")) {
workbook2 = new HSSFWorkbook(inputStream2);
}
Sheet sheet2 = workbook2.getSheetAt(0);
List<Map<String, String>> list2 = readSheet(sheet2);
//优先全部匹配
List<Map<String, String>> resultList1 = new ArrayList<>();
for (Map<String, String> map1 : list1) {
for (Map<String, String> map2 : list2) {
if (map1.get("col1").equals(map2.get("col1"))
&& map1.get("col2").equals(map2.get("col2"))
&& map1.get("col3").equals(map2.get("col3"))) {
resultList1.add(map1);
break;
}
}
}
//2种匹配
List<Map<String, String>> list3 = new ArrayList<>();
List<Map<String, String>> list4 = new ArrayList<>();
for (Map<String, String> map1 : list1) {
boolean match = false;
for (Map<String, String> map2 : list2) {
if (map1.get("col1").equals(map2.get("col1"))
&& map1.get("col2").equals(map2.get("col2"))
&& !map1.get("col3").equals(map2.get("col3"))) {
list3.add(map1);
match = true;
break;
}
}
if (!match) {
list4.add(map1);
}
}
List<Map<String, String>> list5 = new ArrayList<>();
for (Map<String, String> map2 : list2) {
boolean match = false;
for (Map<String, String> map1 : list4) {
if (map1.get("col1").equals(map2.get("col1"))
&& map1.get("col2").equals(map2.get("col2"))
&& !map1.get("col3").equals(map2.get("col3"))) {
list5.add(map2);
match = true;
break;
}
}
if (!match) {
list5.add(map2);
}
}
List<Map<String, String>> resultList2 = new ArrayList<>();
for (Map<String, String> map1 : list3) {
for (Map<String, String> map2 : list5) {
if (map1.get("col1").equals(map2.get("col1"))
&& map1.get("col2").equals(map2.get("col2"))
&& map1.get("col3").equals(map2.get("col3"))) {
resultList2.add(map1);
resultList2.add(map2);
break;
}
}
}
//最后一种匹配
List<Map<String, String>> list6 = new ArrayList<>();
List<Map<String, String>> list7 = new ArrayList<>();
for (Map<String, String> map1 : list1) {
boolean match = false;
for (Map<String, String> map2 : list2) {
if (map1.get("col1").equals(map2.get("col1"))
&& !map1.get("col2").equals(map2.get("col2"))
&& !map1.get("col3").equals(map2.get("col3"))) {
list6.add(map1);
match = true;
break;
}
}
if (!match) {
list7.add(map1);
}
}
List<Map<String, String>> list8 = new ArrayList<>();
for (Map<String, String> map2 : list2) {
boolean match = false;
for (Map<String, String> map1 : list7) {
if (map1.get("col1").equals(map2.get("col1"))
&& !map1.get("col2").equals(map2.get("col2"))
&& !map1.get("col3").equals(map2.get("col3"))) {
list8.add(map2);
match = true;
break;
}
}
if (!match) {
list8.add(map2);
}
}
List<Map<String, String>> resultList3 = new ArrayList<>();
for (Map<String, String> map1 : list6) {
for (Map<String, String> map2 : list8) {
if (map1.get("col1").equals(map2.get("col1"))) {
resultList3.add(map1);
resultList3.add(map2);
break;
}
}
}
//写入结果
Workbook resultWorkbook = new XSSFWorkbook();
Sheet resultSheet1 = resultWorkbook.createSheet("result1");
writeSheet(resultSheet1, resultList1);
Sheet resultSheet2 = resultWorkbook.createSheet("result2");
writeSheet(resultSheet2, resultList2);
Sheet resultSheet3 = resultWorkbook.createSheet("result3");
writeSheet(resultSheet3, resultList3);
FileOutputStream outputStream = new FileOutputStream("result.xlsx");
resultWorkbook.write(outputStream);
outputStream.close();
}
//读取Sheet页数据
public static List<Map<String, String>> readSheet(Sheet sheet) {
List<Map<String, String>> list = new ArrayList<>();
Iterator<Row> rowIterator = sheet.iterator();
if (rowIterator.hasNext()) {
Row headerRow = rowIterator.next();
List<String> headerList = new ArrayList<>();
Iterator<Cell> headerIterator = headerRow.iterator();
while (headerIterator.hasNext()) {
Cell cell = headerIterator.next();
headerList.add(cell.getStringCellValue());
}
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Map<String, String> map = new HashMap<>();
for (int i = 0; i < headerList.size(); i++) {
Cell cell = row.getCell(i);
if (cell != null) {
map.put(headerList.get(i), cell.getStringCellValue());
}
}
list.add(map);
}
}
return list;
}
//写入Sheet页数据
public static void writeSheet(Sheet sheet, List<Map<String, String>> list) {
if (!list.isEmpty()) {
Row headerRow = sheet.createRow(0);
List<String> headerList = new ArrayList<>(list.get(0).keySet());
for (int i = 0; i < headerList.size(); i++) {
Cell cell = headerRow.createCell(i);
cell.setCellValue(headerList.get(i));
}
for (int i = 0; i < list.size(); i++) {
Row row = sheet.createRow(i + 1);
Map<String, String> map = list.get(i);
for (int j = 0; j < headerList.size(); j++) {
Cell cell = row.createCell(j);
cell.setCellValue(map.get(headerList.get(j)));
}
}
}
}
}
```
注意需要将代码中的“file1.xlsx”和“file2.xlsx”替换为实际的文件名,同时需要根据实际情况修改列名和条件判断语句。最终结果将保存在“result.xlsx”文件中。
你给我写一套可以运行的电竞对冲代码
好的,这里给你一份Python的电竞对冲代码,你可以在自己的电脑上运行:
```python
import requests
import json
import time
# 要对冲的比赛ID和对阵双方的名称
match_id = "123456"
team_a = "Team A"
team_b = "Team B"
# 设置API请求头
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
# 定义获取比赛信息的函数
def get_match_info():
url = "https://xxx.com/match/info/{}".format(match_id)
response = requests.get(url, headers=headers)
return response.json()
# 定义获取比赛赔率的函数
def get_match_odds():
url = "https://xxx.com/match/odds/{}".format(match_id)
response = requests.get(url, headers=headers)
return response.json()
# 定义下注的函数
def bet(team, amount, odds):
url = "https://xxx.com/bet"
data = {
"match_id": match_id,
"team": team,
"amount": amount,
"odds": odds
}
response = requests.post(url, headers=headers, data=json.dumps(data))
return response.json()
# 定义取消下注的函数
def cancel_bet(bet_id):
url = "https://xxx.com/bet/cancel"
data = {
"bet_id": bet_id
}
response = requests.post(url, headers=headers, data=json.dumps(data))
return response.json()
# 获取比赛信息和赔率
match_info = get_match_info()
match_odds = get_match_odds()
# 获取对阵双方的名称
team_names = []
for team in match_info["teams"]:
team_names.append(team["name"])
# 判断对阵双方是否正确
if team_a not in team_names or team_b not in team_names:
print("对阵双方不正确")
exit()
# 获取对阵双方的赔率
odds_a = 0
odds_b = 0
for odds in match_odds:
if odds["team"] == team_a:
odds_a = odds["odds"]
elif odds["team"] == team_b:
odds_b = odds["odds"]
# 判断赔率是否正确
if odds_a == 0 or odds_b == 0:
print("赔率不正确")
exit()
# 计算下注金额和下注赔率
if odds_a > odds_b:
bet_team = team_b
bet_amount = 1000 / odds_b
bet_odds = odds_b
else:
bet_team = team_a
bet_amount = 1000 / odds_a
bet_odds = odds_a
# 下注
print("下注 {} 元".format(bet_amount))
bet_result = bet(bet_team, bet_amount, bet_odds)
print(bet_result)
# 等待比赛结果公布
time.sleep(60)
# 获取下注记录
bet_records = requests.get("https://xxx.com/bet/records", headers=headers).json()
# 取消下注
for record in bet_records:
if record["match_id"] == match_id:
cancel_result = cancel_bet(record["id"])
print(cancel_result)
```
这段代码需要替换掉一些参数:
- `match_id`:要对冲的比赛ID
- `team_a` 和 `team_b`:对阵双方的名称
- `headers`:API请求头,需要根据实际情况进行修改
另外,这段代码是一个简单的电竞对冲示例,实际的电竞对冲需要更加复杂的逻辑和算法。